Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
af0622f91f This commit was manufactured by cvs2svn to create tag 'WX_2_8_2'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_8_2@44784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-12 13:52:34 +00:00
885 changed files with 105738 additions and 115292 deletions

View File

@@ -70,7 +70,7 @@ wx_top_builddir = @wx_top_builddir@
DESTDIR =
WX_RELEASE = 2.8
WX_RELEASE_NODOT = 28
WX_VERSION = $(WX_RELEASE).4
WX_VERSION = $(WX_RELEASE).2
LIBDIRNAME = $(wx_top_builddir)/lib
WXREGEX_CFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) $(____SHARED) \
$(CPPFLAGS) $(CFLAGS)
@@ -1511,7 +1511,7 @@ LOCALE_MSW_LINGUAS = it
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_USE_PLUGINS_0@PLUGIN_ADV_EXTRALIBS = $(EXTRALIBS_SDL)
@COND_PLATFORM_MACOSX_1@WXMACVERSION_CMD = \
@COND_PLATFORM_MACOSX_1@ -compatibility_version 2.0 -current_version 2.1
@COND_PLATFORM_MACOSX_1@ -compatibility_version 2.0 -current_version 2.0
@COND_USE_GUI_0@PORTNAME = base
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
@@ -1621,8 +1621,6 @@ COND_TOOLKIT__BASE_MACOSX_HDR = \
wx/unix/private.h \
wx/unix/stackwalk.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfdataref.h \
wx/mac/corefoundation/cfref.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h
@@ -1636,8 +1634,6 @@ COND_TOOLKIT_COCOA_BASE_MACOSX_HDR = \
wx/unix/private.h \
wx/unix/stackwalk.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfdataref.h \
wx/mac/corefoundation/cfref.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h
@@ -1651,15 +1647,11 @@ COND_TOOLKIT_GTK_BASE_MACOSX_HDR = \
wx/unix/private.h \
wx/unix/stackwalk.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfdataref.h \
wx/mac/corefoundation/cfref.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h
@COND_TOOLKIT_GTK@BASE_MACOSX_HDR = $(COND_TOOLKIT_GTK_BASE_MACOSX_HDR)
COND_TOOLKIT_MAC_BASE_MACOSX_HDR = \
wx/mac/corefoundation/cfdataref.h \
wx/mac/corefoundation/cfref.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h \
@@ -1676,8 +1668,6 @@ COND_TOOLKIT_MOTIF_BASE_MACOSX_HDR = \
wx/unix/private.h \
wx/unix/stackwalk.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfdataref.h \
wx/mac/corefoundation/cfref.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h
@@ -1691,8 +1681,6 @@ COND_TOOLKIT_X11_BASE_MACOSX_HDR = \
wx/unix/private.h \
wx/unix/stackwalk.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfdataref.h \
wx/mac/corefoundation/cfref.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h
@@ -1996,7 +1984,6 @@ COND_TOOLKIT_COCOA_GUI_HDR = \
wx/cocoa/textctrl.h \
wx/cocoa/timer.h \
wx/cocoa/toolbar.h \
wx/cocoa/tooltip.h \
wx/cocoa/toplevel.h \
wx/cocoa/window.h \
wx/generic/caret.h \
@@ -2830,7 +2817,6 @@ COND_USE_GUI_1_WXUNIV_1_GUI_CORE_HEADERS = \
wx/univ/stdrend.h \
wx/univ/textctrl.h \
wx/univ/theme.h \
wx/univ/tglbtn.h \
wx/univ/toolbar.h \
wx/univ/toplevel.h \
wx/univ/window.h
@@ -4569,12 +4555,9 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS = \
monodll_tbarwce.o \
monodll_textctrlce.o
@COND_TOOLKIT_WINCE@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS)
COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS = \
monodll_webkit.o \
monodll_fontdlgosx.o \
monodll_colordlgosx.o \
monodll_utilscocoa.o
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS = $(COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS)
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS = \
@COND_PLATFORM_MACOSX_1@ monodll_webkit.o monodll_fontdlgosx.o \
@COND_PLATFORM_MACOSX_1@ monodll_colordlgosx.o
@COND_TOOLKIT_COCOA@__LOWLEVEL_SRC_OBJECTS_1 = \
@COND_TOOLKIT_COCOA@ monodll_gsockosx.o monodll_hid.o monodll_utilsexc_cf.o
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_1 = \
@@ -6354,12 +6337,9 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_1 = \
monolib_tbarwce.o \
monolib_textctrlce.o
@COND_TOOLKIT_WINCE@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_1)
COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS_1 = \
monolib_webkit.o \
monolib_fontdlgosx.o \
monolib_colordlgosx.o \
monolib_utilscocoa.o
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS_1 = $(COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS_1)
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS_1 = \
@COND_PLATFORM_MACOSX_1@ monolib_webkit.o monolib_fontdlgosx.o \
@COND_PLATFORM_MACOSX_1@ monolib_colordlgosx.o
@COND_TOOLKIT_COCOA@__LOWLEVEL_SRC_OBJECTS_3 = \
@COND_TOOLKIT_COCOA@ monolib_gsockosx.o monolib_hid.o monolib_utilsexc_cf.o
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_3 = \
@@ -8368,12 +8348,9 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_2 = \
coredll_tbarwce.o \
coredll_textctrlce.o
@COND_TOOLKIT_WINCE@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_2)
COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS_2 = \
coredll_webkit.o \
coredll_fontdlgosx.o \
coredll_colordlgosx.o \
coredll_utilscocoa.o
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS_2 = $(COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS_2)
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS_2 = \
@COND_PLATFORM_MACOSX_1@ coredll_webkit.o coredll_fontdlgosx.o \
@COND_PLATFORM_MACOSX_1@ coredll_colordlgosx.o
@COND_TOOLKIT_COCOA@__LOWLEVEL_SRC_OBJECTS_5 = \
@COND_TOOLKIT_COCOA@ coredll_gsockosx.o coredll_hid.o coredll_utilsexc_cf.o
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_5 = \
@@ -9826,12 +9803,9 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_3 = \
corelib_tbarwce.o \
corelib_textctrlce.o
@COND_TOOLKIT_WINCE@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_3)
COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS_3 = \
corelib_webkit.o \
corelib_fontdlgosx.o \
corelib_colordlgosx.o \
corelib_utilscocoa.o
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS_3 = $(COND_PLATFORM_MACOSX_1___MAC_OSX_SRC_OBJECTS_3)
@COND_PLATFORM_MACOSX_1@__MAC_OSX_SRC_OBJECTS_3 = \
@COND_PLATFORM_MACOSX_1@ corelib_webkit.o corelib_fontdlgosx.o \
@COND_PLATFORM_MACOSX_1@ corelib_colordlgosx.o
@COND_TOOLKIT_COCOA@__LOWLEVEL_SRC_OBJECTS_7 = \
@COND_TOOLKIT_COCOA@ corelib_gsockosx.o corelib_hid.o corelib_utilsexc_cf.o
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_7 = \
@@ -11267,9 +11241,9 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
@COND_USE_SOVERSION_0@dll___targetsuf2 = .$(SO_SUFFIX)
@COND_PLATFORM_MACOSX_0_USE_SOVERCYGWIN_0_USE_SOVERSION_1@dll___targetsuf3 \
@COND_PLATFORM_MACOSX_0_USE_SOVERCYGWIN_0_USE_SOVERSION_1@ = \
@COND_PLATFORM_MACOSX_0_USE_SOVERCYGWIN_0_USE_SOVERSION_1@ .$(SO_SUFFIX).0.1.1
@COND_PLATFORM_MACOSX_0_USE_SOVERCYGWIN_0_USE_SOVERSION_1@ .$(SO_SUFFIX).0.1.0
@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@dll___targetsuf3 \
@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .0.1.1.$(SO_SUFFIX)
@COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .0.1.0.$(SO_SUFFIX)
@COND_USE_SOVERCYGWIN_1_USE_SOVERSION_1@dll___targetsuf3 = -0.$(SO_SUFFIX)
@COND_USE_SOVERSION_0@dll___targetsuf3 = .$(SO_SUFFIX)
@COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
@@ -12932,9 +12906,6 @@ monodll_fontdlgosx.o: $(srcdir)/src/mac/carbon/fontdlgosx.mm $(MONODLL_ODEP)
monodll_colordlgosx.o: $(srcdir)/src/mac/carbon/colordlgosx.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/colordlgosx.mm
monodll_utilscocoa.o: $(srcdir)/src/mac/carbon/utilscocoa.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/utilscocoa.mm
monodll_NSBox.o: $(srcdir)/src/cocoa/NSBox.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/cocoa/NSBox.mm
@@ -13556,8 +13527,8 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_utils.o: $(srcdir)/src/motif/utils.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/motif/utils.cpp
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_utils.o: $(srcdir)/src/cocoa/utils.mm $(MONODLL_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/cocoa/utils.mm
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_utils.o: $(srcdir)/src/cocoa/utils.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/cocoa/utils.cpp
@COND_PLATFORM_WIN32_1@monodll_utilsexc.o: $(srcdir)/src/msw/utilsexc.cpp $(MONODLL_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/utilsexc.cpp
@@ -17054,9 +17025,6 @@ monolib_fontdlgosx.o: $(srcdir)/src/mac/carbon/fontdlgosx.mm $(MONOLIB_ODEP)
monolib_colordlgosx.o: $(srcdir)/src/mac/carbon/colordlgosx.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/colordlgosx.mm
monolib_utilscocoa.o: $(srcdir)/src/mac/carbon/utilscocoa.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/utilscocoa.mm
monolib_NSBox.o: $(srcdir)/src/cocoa/NSBox.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/cocoa/NSBox.mm
@@ -17678,8 +17646,8 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_utils.o: $(srcdir)/src/motif/utils.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/motif/utils.cpp
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_utils.o: $(srcdir)/src/cocoa/utils.mm $(MONOLIB_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/cocoa/utils.mm
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_utils.o: $(srcdir)/src/cocoa/utils.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/cocoa/utils.cpp
@COND_PLATFORM_WIN32_1@monolib_utilsexc.o: $(srcdir)/src/msw/utilsexc.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/utilsexc.cpp
@@ -22175,9 +22143,6 @@ coredll_fontdlgosx.o: $(srcdir)/src/mac/carbon/fontdlgosx.mm $(COREDLL_ODEP)
coredll_colordlgosx.o: $(srcdir)/src/mac/carbon/colordlgosx.mm $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/colordlgosx.mm
coredll_utilscocoa.o: $(srcdir)/src/mac/carbon/utilscocoa.mm $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/utilscocoa.mm
coredll_NSBox.o: $(srcdir)/src/cocoa/NSBox.mm $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/cocoa/NSBox.mm
@@ -22322,8 +22287,8 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@coredll_utils.o: $(srcdir)/src/motif/utils.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/motif/utils.cpp
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_utils.o: $(srcdir)/src/cocoa/utils.mm $(COREDLL_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/cocoa/utils.mm
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_utils.o: $(srcdir)/src/cocoa/utils.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/cocoa/utils.cpp
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@coredll_caret.o: $(srcdir)/src/generic/caret.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/caret.cpp
@@ -25133,9 +25098,6 @@ corelib_fontdlgosx.o: $(srcdir)/src/mac/carbon/fontdlgosx.mm $(CORELIB_ODEP)
corelib_colordlgosx.o: $(srcdir)/src/mac/carbon/colordlgosx.mm $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/colordlgosx.mm
corelib_utilscocoa.o: $(srcdir)/src/mac/carbon/utilscocoa.mm $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/utilscocoa.mm
corelib_NSBox.o: $(srcdir)/src/cocoa/NSBox.mm $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/cocoa/NSBox.mm
@@ -25280,8 +25242,8 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@corelib_utils.o: $(srcdir)/src/motif/utils.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/motif/utils.cpp
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_utils.o: $(srcdir)/src/cocoa/utils.mm $(CORELIB_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/cocoa/utils.mm
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_utils.o: $(srcdir)/src/cocoa/utils.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/cocoa/utils.cpp
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@corelib_caret.o: $(srcdir)/src/generic/caret.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/caret.cpp

View File

@@ -132,7 +132,7 @@ AC_DEFUN([WX_CPP_NEW_HEADERS],
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_HEADERS(iostream,,, [ ])
AC_CHECK_HEADER(iostream,,, [ ])
if test "$ac_cv_header_iostream" = "yes" ; then
ifelse([$1], , :, [$1])

1
aclocal.m4 vendored
View File

@@ -11,7 +11,6 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_include([build/aclocal/bakefile-dllar.m4])
m4_include([build/aclocal/bakefile-lang.m4])
m4_include([build/aclocal/bakefile.m4])
m4_include([build/aclocal/cppunit.m4])

File diff suppressed because one or more lines are too long

View File

@@ -1,483 +0,0 @@
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
[
dnl ===================== dllar.sh begins here =====================
dnl (Created by merge-scripts.py from dllar.sh
dnl file do not edit here!)
D='$'
cat <<EOF >dllar.sh
#!/bin/sh
#
# dllar - a tool to build both a .dll and an .a file
# from a set of object (.o) files for EMX/OS2.
#
# Written by Andrew Zabolotny, bit@freya.etu.ru
# Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
#
# This script will accept a set of files on the command line.
# All the public symbols from the .o files will be exported into
# a .DEF file, then linker will be run (through gcc) against them to
# build a shared library consisting of all given .o files. All libraries
# (.a) will be first decompressed into component .o files then act as
# described above. You can optionally give a description (-d "description")
# which will be put into .DLL. To see the list of accepted options (as well
# as command-line format) simply run this program without options. The .DLL
# is built to be imported by name (there is no guarantee that new versions
# of the library you build will have same ordinals for same symbols).
#
# dllar is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# dllar is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with dllar; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# To successfuly run this program you will need:
# - Current drive should have LFN support (HPFS, ext2, network, etc)
# (Sometimes dllar generates filenames which won't fit 8.3 scheme)
# - gcc
# (used to build the .dll)
# - emxexp
# (used to create .def file from .o files)
# - emximp
# (used to create .a file from .def file)
# - GNU text utilites (cat, sort, uniq)
# used to process emxexp output
# - GNU file utilities (mv, rm)
# - GNU sed
# - lxlite (optional, see flag below)
# (used for general .dll cleanup)
#
flag_USE_LXLITE=1;
#
# helper functions
# basnam, variant of basename, which does _not_ remove the path, _iff_
# second argument (suffix to remove) is given
basnam(){
case ${D}# in
1)
echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
;;
2)
echo ${D}1 | sed 's/'${D}2'${D}//'
;;
*)
echo "error in basnam ${D}*"
exit 8
;;
esac
}
# Cleanup temporary files and output
CleanUp() {
cd ${D}curDir
for i in ${D}inputFiles ; do
case ${D}i in
*!)
rm -rf \`basnam ${D}i !\`
;;
*)
;;
esac
done
# Kill result in case of failure as there is just to many stupid make/nmake
# things out there which doesn't do this.
if @<:@ ${D}# -eq 0 @:>@; then
rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
fi
}
# Print usage and exit script with rc=1.
PrintHelp() {
echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
echo ' @<:@-name-mangler-script script.sh@:>@'
echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
echo ' @<:@*.o@:>@ @<:@*.a@:>@'
echo '*> "output_file" should have no extension.'
echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
echo ' The import library name is derived from this and is set to "name".a,'
echo ' unless overridden by -import'
echo '*> "importlib_name" should have no extension.'
echo ' If it has the .o, or .a extension, it is automatically removed.'
echo ' This name is used as the import library name and may be longer and'
echo ' more descriptive than the DLL name which has to follow the old '
echo ' 8.3 convention of FAT.'
echo '*> "script.sh may be given to override the output_file name by a'
echo ' different name. It is mainly useful if the regular make process'
echo ' of some package does not take into account OS/2 restriction of'
echo ' DLL name lengths. It takes the importlib name as input and is'
echo ' supposed to procude a shorter name as output. The script should'
echo ' expect to get importlib_name without extension and should produce'
echo ' a (max.) 8 letter name without extension.'
echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
echo ' These flags will be put at the start of GCC command line.'
echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
echo ' If the last character of a symbol is "*", all symbols beginning'
echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
echo ' C runtime DLLs.'
echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
echo '*> All other switches (for example -L./ or -lmylib) will be passed'
echo ' unchanged to GCC at the end of command line.'
echo '*> If you create a DLL from a library and you do not specify -o,'
echo ' the basename for DLL and import library will be set to library name,'
echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
echo ' library will be renamed into gcc_s.a.'
echo '--------'
echo 'Example:'
echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
CleanUp
exit 1
}
# Execute a command.
# If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
# @Uses Whatever CleanUp() uses.
doCommand() {
echo "${D}*"
eval ${D}*
rcCmd=${D}?
if @<:@ ${D}rcCmd -ne 0 @:>@; then
echo "command failed, exit code="${D}rcCmd
CleanUp
exit ${D}rcCmd
fi
}
# main routine
# setup globals
cmdLine=${D}*
outFile=""
outimpFile=""
inputFiles=""
renameScript=""
description=""
CC=gcc.exe
CFLAGS="-s -Zcrtdll"
EXTRA_CFLAGS=""
EXPORT_BY_ORDINALS=0
exclude_symbols=""
library_flags=""
curDir=\`pwd\`
curDirS=curDir
case ${D}curDirS in
*/)
;;
*)
curDirS=${D}{curDirS}"/"
;;
esac
# Parse commandline
libsToLink=0
omfLinking=0
while @<:@ ${D}1 @:>@; do
case ${D}1 in
-ord*)
EXPORT_BY_ORDINALS=1;
;;
-o*)
shift
outFile=${D}1
;;
-i*)
shift
outimpFile=${D}1
;;
-name-mangler-script)
shift
renameScript=${D}1
;;
-d*)
shift
description=${D}1
;;
-f*)
shift
CFLAGS=${D}1
;;
-c*)
shift
CC=${D}1
;;
-h*)
PrintHelp
;;
-ex*)
shift
exclude_symbols=${D}{exclude_symbols}${D}1" "
;;
-libf*)
shift
library_flags=${D}{library_flags}${D}1" "
;;
-nocrt*)
CFLAGS="-s"
;;
-nolxl*)
flag_USE_LXLITE=0
;;
-* | /*)
case ${D}1 in
-L* | -l*)
libsToLink=1
;;
-Zomf)
omfLinking=1
;;
*)
;;
esac
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
;;
*.dll)
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
if @<:@ ${D}omfLinking -eq 1 @:>@; then
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
else
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
fi
;;
*)
found=0;
if @<:@ ${D}libsToLink -ne 0 @:>@; then
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
else
for file in ${D}1 ; do
if @<:@ -f ${D}file @:>@; then
inputFiles="${D}{inputFiles} ${D}file"
found=1
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "ERROR: No file(s) found: "${D}1
exit 8
fi
fi
;;
esac
shift
done # iterate cmdline words
#
if @<:@ -z "${D}inputFiles" @:>@; then
echo "dllar: no input files"
PrintHelp
fi
# Now extract all .o files from .a files
newInputFiles=""
for file in ${D}inputFiles ; do
case ${D}file in
*.a | *.lib)
case ${D}file in
*.a)
suffix=".a"
AR="ar"
;;
*.lib)
suffix=".lib"
AR="emxomfar"
EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
;;
*)
;;
esac
dirname=\`basnam ${D}file ${D}suffix\`"_%"
mkdir ${D}dirname
if @<:@ ${D}? -ne 0 @:>@; then
echo "Failed to create subdirectory ./${D}dirname"
CleanUp
exit 8;
fi
# Append '!' to indicate archive
newInputFiles="${D}newInputFiles ${D}{dirname}!"
doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
cd ${D}curDir
found=0;
for subfile in ${D}dirname/*.o* ; do
if @<:@ -f ${D}subfile @:>@; then
found=1
if @<:@ -s ${D}subfile @:>@; then
# FIXME: This should be: is file size > 32 byte, _not_ > 0!
newInputFiles="${D}newInputFiles ${D}subfile"
fi
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "WARNING: there are no files in archive \\'${D}file\\'"
fi
;;
*)
newInputFiles="${D}{newInputFiles} ${D}file"
;;
esac
done
inputFiles="${D}newInputFiles"
# Output filename(s).
do_backup=0;
if @<:@ -z ${D}outFile @:>@; then
do_backup=1;
set outFile ${D}inputFiles; outFile=${D}2
fi
# If it is an archive, remove the '!' and the '_%' suffixes
case ${D}outFile in
*_%!)
outFile=\`basnam ${D}outFile _%!\`
;;
*)
;;
esac
case ${D}outFile in
*.dll)
outFile=\`basnam ${D}outFile .dll\`
;;
*.DLL)
outFile=\`basnam ${D}outFile .DLL\`
;;
*.o)
outFile=\`basnam ${D}outFile .o\`
;;
*.obj)
outFile=\`basnam ${D}outFile .obj\`
;;
*.a)
outFile=\`basnam ${D}outFile .a\`
;;
*.lib)
outFile=\`basnam ${D}outFile .lib\`
;;
*)
;;
esac
case ${D}outimpFile in
*.a)
outimpFile=\`basnam ${D}outimpFile .a\`
;;
*.lib)
outimpFile=\`basnam ${D}outimpFile .lib\`
;;
*)
;;
esac
if @<:@ -z ${D}outimpFile @:>@; then
outimpFile=${D}outFile
fi
defFile="${D}{outFile}.def"
arcFile="${D}{outimpFile}.a"
arcFile2="${D}{outimpFile}.lib"
#create ${D}dllFile as something matching 8.3 restrictions,
if @<:@ -z ${D}renameScript @:>@ ; then
dllFile="${D}outFile"
else
dllFile=\`${D}renameScript ${D}outimpFile\`
fi
if @<:@ ${D}do_backup -ne 0 @:>@ ; then
if @<:@ -f ${D}arcFile @:>@ ; then
doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
fi
if @<:@ -f ${D}arcFile2 @:>@ ; then
doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
fi
fi
# Extract public symbols from all the object files.
tmpdefFile=${D}{defFile}_%
rm -f ${D}tmpdefFile
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
;;
esac
done
# Create the def file.
rm -f ${D}defFile
echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
dllFile="${D}{dllFile}.dll"
if @<:@ ! -z ${D}description @:>@; then
echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
fi
echo "EXPORTS" >> ${D}defFile
doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
# Checks if the export is ok or not.
for word in ${D}exclude_symbols; do
grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
mv ${D}{tmpdefFile}% ${D}tmpdefFile
done
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
sed "=" < ${D}tmpdefFile | \\
sed '
N
: loop
s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
t loop
' > ${D}{tmpdefFile}%
grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
else
rm -f ${D}{tmpdefFile}%
fi
cat ${D}tmpdefFile >> ${D}defFile
rm -f ${D}tmpdefFile
# Do linking, create implib, and apply lxlite.
gccCmdl="";
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
gccCmdl="${D}gccCmdl ${D}file"
;;
esac
done
doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
touch "${D}{outFile}.dll"
doCommand "emximp -o ${D}arcFile ${D}defFile"
if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
add_flags="";
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
add_flags="-ynd"
fi
doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
fi
doCommand "emxomf -s -l ${D}arcFile"
# Successful exit.
CleanUp 1
exit 0
EOF
dnl ===================== dllar.sh ends here =====================
])

View File

@@ -1,30 +1,6 @@
dnl
dnl This file is part of Bakefile (http://bakefile.sourceforge.net)
dnl
dnl Copyright (C) 2003-2007 Vaclav Slavik, David Elliott and others
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included in
dnl all copies or substantial portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl $Id$
dnl
dnl Compiler detection macros by David Elliott
dnl
dnl ---------------------------------------------------------------------------
dnl Compiler detection macros by David Elliott
dnl ---------------------------------------------------------------------------
dnl ===========================================================================
@@ -113,12 +89,12 @@ AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
)
]
)
AC_LANG_POP($2)
if test "x$bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3" = "xyes"; then
:; $4
else
:; $5
fi
AC_LANG_POP($2)
])
dnl recent versions of SGI mipsPro compiler define _SGI_COMPILER_VERSION

View File

@@ -1,36 +1,9 @@
dnl
dnl This file is part of Bakefile (http://bakefile.sourceforge.net)
dnl
dnl Copyright (C) 2003-2007 Vaclav Slavik and others
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included in
dnl all copies or substantial portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl $Id$
dnl
dnl Support macros for makefiles generated by BAKEFILE.
dnl
dnl ---------------------------------------------------------------------------
dnl Support macros for makefiles generated by BAKEFILE.
dnl ---------------------------------------------------------------------------
dnl Lots of compiler & linker detection code contained here was taken from
dnl wxWidgets configure.in script (see http://www.wxwidgets.org)
dnl ---------------------------------------------------------------------------
dnl wxWindows configure.in script (see http://www.wxwindows.org)
@@ -78,7 +51,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
PLATFORM_OS2=0
PLATFORM_BEOS=0
if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
case "${BAKEFILE_HOST}" in
*-*-mingw32* )
PLATFORM_WIN32=1
@@ -92,7 +65,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
*-*-darwin* )
PLATFORM_MAC=1
PLATFORM_MACOSX=1
;;
;;
*-*-beos* )
PLATFORM_BEOS=1
;;
@@ -126,8 +99,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
PLATFORM_BEOS=1
;;
* )
dnl wxWidgets-specific: allow unknown Unix systems
dnl AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
;;
esac
fi
@@ -154,7 +126,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
AC_ARG_ENABLE([omf], AS_HELP_STRING([--enable-omf],
[use OMF object format (OS/2)]),
[bk_os2_use_omf="$enableval"])
case "${BAKEFILE_HOST}" in
*-*-darwin* )
dnl For Unix to MacOS X porting instructions, see:
@@ -181,7 +153,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
OS2_LIBEXT="a"
fi
;;
i*86-*-beos* )
LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
;;
@@ -206,7 +178,7 @@ AC_DEFUN([AC_BAKEFILE_SUFFIXES],
DLLPREFIX_MODULE=""
DLLIMP_SUFFIX=""
dlldir="$libdir"
case "${BAKEFILE_HOST}" in
*-hp-hpux* )
SO_SUFFIX="sl"
@@ -289,7 +261,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
dnl the switch for gcc is the same under all platforms
PIC_FLAG="-fPIC"
fi
dnl Defaults for GCC and ELF .so shared libs:
SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
@@ -459,7 +431,8 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
;;
*)
AC_MSG_ERROR(unknown system type $BAKEFILE_HOST.)
dnl wxWidgets-specific: allow unknown Unix systems
dnl AC_MSG_ERROR(unknown system type $BAKEFILE_HOST.)
esac
if test "x$PIC_FLAG" != "x" ; then
@@ -547,7 +520,7 @@ AC_DEFUN([AC_BAKEFILE_DEPS],
AS_HELP_STRING([--disable-dependency-tracking],
[don't use dependency tracking even if the compiler can]),
[bk_use_trackdeps="$enableval"])
AC_MSG_CHECKING([for dependency tracking method])
BK_DEPS=""
@@ -623,19 +596,14 @@ AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
AC_PROG_MAKE_SET
AC_SUBST(MAKE_SET)
if test "x$SUNCXX" = "xyes"; then
dnl Sun C++ compiler requires special way of creating static libs;
dnl see here for more details:
dnl https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1229751&group_id=9863
AR=$CXX
AROPTIONS="-xar -o"
AC_SUBST(AR)
elif test "x$SGICC" = "xyes"; then
dnl Almost the same as above for SGI mipsPro compiler
AR=$CXX
AROPTIONS="-ar -o"
AR=${AR:-"$CXX"}
AC_SUBST(AR)
AROPTIONS=${AROPTIONS:-"-xar -o"}
else
AC_CHECK_TOOL(AR, ar, ar)
AROPTIONS=rcu
@@ -676,12 +644,12 @@ dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_RES_COMPILERS],
[
case ${BAKEFILE_HOST} in
case ${BAKEFILE_HOST} in
*-*-cygwin* | *-*-mingw32* )
dnl Check for win32 resources compiler:
AC_CHECK_TOOL(WINDRES, windres)
;;
*-*-darwin* | powerpc-apple-macos* )
AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
@@ -712,7 +680,7 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
USE_PCH=0
BK_MAKE_PCH=""
case ${BAKEFILE_HOST} in
case ${BAKEFILE_HOST} in
*-*-cygwin* )
dnl PCH support is broken in cygwin gcc because of unportable
dnl assumptions about mmap() in gcc code which make PCH generation
@@ -824,25 +792,509 @@ AC_DEFUN([AC_BAKEFILE],
AC_BAKEFILE_DEPS
AC_BAKEFILE_RES_COMPILERS
BAKEFILE_BAKEFILE_M4_VERSION="0.2.2"
BAKEFILE_BAKEFILE_M4_VERSION="0.2.1"
dnl includes autoconf_inc.m4:
$1
if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
AC_MSG_ERROR([No version found in autoconf_inc.m4 - bakefile macro was changed to take additional argument, perhaps configure.in wasn't updated (see the documentation)?])
fi
if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
AC_MSG_ERROR([Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match.])
fi
])
dnl ---------------------------------------------------------------------------
dnl Embedded copies of helper scripts follow:
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
[
dnl ===================== dllar.sh begins here =====================
dnl (Created by merge-scripts.py from dllar.sh
dnl file do not edit here!)
D='$'
cat <<EOF >dllar.sh
#!/bin/sh
#
# dllar - a tool to build both a .dll and an .a file
# from a set of object (.o) files for EMX/OS2.
#
# Written by Andrew Zabolotny, bit@freya.etu.ru
# Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
#
# This script will accept a set of files on the command line.
# All the public symbols from the .o files will be exported into
# a .DEF file, then linker will be run (through gcc) against them to
# build a shared library consisting of all given .o files. All libraries
# (.a) will be first decompressed into component .o files then act as
# described above. You can optionally give a description (-d "description")
# which will be put into .DLL. To see the list of accepted options (as well
# as command-line format) simply run this program without options. The .DLL
# is built to be imported by name (there is no guarantee that new versions
# of the library you build will have same ordinals for same symbols).
#
# dllar is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# dllar is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with dllar; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# To successfuly run this program you will need:
# - Current drive should have LFN support (HPFS, ext2, network, etc)
# (Sometimes dllar generates filenames which won't fit 8.3 scheme)
# - gcc
# (used to build the .dll)
# - emxexp
# (used to create .def file from .o files)
# - emximp
# (used to create .a file from .def file)
# - GNU text utilites (cat, sort, uniq)
# used to process emxexp output
# - GNU file utilities (mv, rm)
# - GNU sed
# - lxlite (optional, see flag below)
# (used for general .dll cleanup)
#
flag_USE_LXLITE=1;
#
# helper functions
# basnam, variant of basename, which does _not_ remove the path, _iff_
# second argument (suffix to remove) is given
basnam(){
case ${D}# in
1)
echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
;;
2)
echo ${D}1 | sed 's/'${D}2'${D}//'
;;
*)
echo "error in basnam ${D}*"
exit 8
;;
esac
}
# Cleanup temporary files and output
CleanUp() {
cd ${D}curDir
for i in ${D}inputFiles ; do
case ${D}i in
*!)
rm -rf \`basnam ${D}i !\`
;;
*)
;;
esac
done
# Kill result in case of failure as there is just to many stupid make/nmake
# things out there which doesn't do this.
if @<:@ ${D}# -eq 0 @:>@; then
rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
fi
}
# Print usage and exit script with rc=1.
PrintHelp() {
echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
echo ' @<:@-name-mangler-script script.sh@:>@'
echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
echo ' @<:@*.o@:>@ @<:@*.a@:>@'
echo '*> "output_file" should have no extension.'
echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
echo ' The import library name is derived from this and is set to "name".a,'
echo ' unless overridden by -import'
echo '*> "importlib_name" should have no extension.'
echo ' If it has the .o, or .a extension, it is automatically removed.'
echo ' This name is used as the import library name and may be longer and'
echo ' more descriptive than the DLL name which has to follow the old '
echo ' 8.3 convention of FAT.'
echo '*> "script.sh may be given to override the output_file name by a'
echo ' different name. It is mainly useful if the regular make process'
echo ' of some package does not take into account OS/2 restriction of'
echo ' DLL name lengths. It takes the importlib name as input and is'
echo ' supposed to procude a shorter name as output. The script should'
echo ' expect to get importlib_name without extension and should produce'
echo ' a (max.) 8 letter name without extension.'
echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
echo ' These flags will be put at the start of GCC command line.'
echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
echo ' If the last character of a symbol is "*", all symbols beginning'
echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
echo ' C runtime DLLs.'
echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
echo '*> All other switches (for example -L./ or -lmylib) will be passed'
echo ' unchanged to GCC at the end of command line.'
echo '*> If you create a DLL from a library and you do not specify -o,'
echo ' the basename for DLL and import library will be set to library name,'
echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
echo ' library will be renamed into gcc_s.a.'
echo '--------'
echo 'Example:'
echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
CleanUp
exit 1
}
# Execute a command.
# If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
# @Uses Whatever CleanUp() uses.
doCommand() {
echo "${D}*"
eval ${D}*
rcCmd=${D}?
if @<:@ ${D}rcCmd -ne 0 @:>@; then
echo "command failed, exit code="${D}rcCmd
CleanUp
exit ${D}rcCmd
fi
}
# main routine
# setup globals
cmdLine=${D}*
outFile=""
outimpFile=""
inputFiles=""
renameScript=""
description=""
CC=gcc.exe
CFLAGS="-s -Zcrtdll"
EXTRA_CFLAGS=""
EXPORT_BY_ORDINALS=0
exclude_symbols=""
library_flags=""
curDir=\`pwd\`
curDirS=curDir
case ${D}curDirS in
*/)
;;
*)
curDirS=${D}{curDirS}"/"
;;
esac
# Parse commandline
libsToLink=0
omfLinking=0
while @<:@ ${D}1 @:>@; do
case ${D}1 in
-ord*)
EXPORT_BY_ORDINALS=1;
;;
-o*)
shift
outFile=${D}1
;;
-i*)
shift
outimpFile=${D}1
;;
-name-mangler-script)
shift
renameScript=${D}1
;;
-d*)
shift
description=${D}1
;;
-f*)
shift
CFLAGS=${D}1
;;
-c*)
shift
CC=${D}1
;;
-h*)
PrintHelp
;;
-ex*)
shift
exclude_symbols=${D}{exclude_symbols}${D}1" "
;;
-libf*)
shift
library_flags=${D}{library_flags}${D}1" "
;;
-nocrt*)
CFLAGS="-s"
;;
-nolxl*)
flag_USE_LXLITE=0
;;
-* | /*)
case ${D}1 in
-L* | -l*)
libsToLink=1
;;
-Zomf)
omfLinking=1
;;
*)
;;
esac
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
;;
*.dll)
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
if @<:@ ${D}omfLinking -eq 1 @:>@; then
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
else
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
fi
;;
*)
found=0;
if @<:@ ${D}libsToLink -ne 0 @:>@; then
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
else
for file in ${D}1 ; do
if @<:@ -f ${D}file @:>@; then
inputFiles="${D}{inputFiles} ${D}file"
found=1
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "ERROR: No file(s) found: "${D}1
exit 8
fi
fi
;;
esac
shift
done # iterate cmdline words
#
if @<:@ -z "${D}inputFiles" @:>@; then
echo "dllar: no input files"
PrintHelp
fi
# Now extract all .o files from .a files
newInputFiles=""
for file in ${D}inputFiles ; do
case ${D}file in
*.a | *.lib)
case ${D}file in
*.a)
suffix=".a"
AR="ar"
;;
*.lib)
suffix=".lib"
AR="emxomfar"
EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
;;
*)
;;
esac
dirname=\`basnam ${D}file ${D}suffix\`"_%"
mkdir ${D}dirname
if @<:@ ${D}? -ne 0 @:>@; then
echo "Failed to create subdirectory ./${D}dirname"
CleanUp
exit 8;
fi
# Append '!' to indicate archive
newInputFiles="${D}newInputFiles ${D}{dirname}!"
doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
cd ${D}curDir
found=0;
for subfile in ${D}dirname/*.o* ; do
if @<:@ -f ${D}subfile @:>@; then
found=1
if @<:@ -s ${D}subfile @:>@; then
# FIXME: This should be: is file size > 32 byte, _not_ > 0!
newInputFiles="${D}newInputFiles ${D}subfile"
fi
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "WARNING: there are no files in archive \\'${D}file\\'"
fi
;;
*)
newInputFiles="${D}{newInputFiles} ${D}file"
;;
esac
done
inputFiles="${D}newInputFiles"
# Output filename(s).
do_backup=0;
if @<:@ -z ${D}outFile @:>@; then
do_backup=1;
set outFile ${D}inputFiles; outFile=${D}2
fi
# If it is an archive, remove the '!' and the '_%' suffixes
case ${D}outFile in
*_%!)
outFile=\`basnam ${D}outFile _%!\`
;;
*)
;;
esac
case ${D}outFile in
*.dll)
outFile=\`basnam ${D}outFile .dll\`
;;
*.DLL)
outFile=\`basnam ${D}outFile .DLL\`
;;
*.o)
outFile=\`basnam ${D}outFile .o\`
;;
*.obj)
outFile=\`basnam ${D}outFile .obj\`
;;
*.a)
outFile=\`basnam ${D}outFile .a\`
;;
*.lib)
outFile=\`basnam ${D}outFile .lib\`
;;
*)
;;
esac
case ${D}outimpFile in
*.a)
outimpFile=\`basnam ${D}outimpFile .a\`
;;
*.lib)
outimpFile=\`basnam ${D}outimpFile .lib\`
;;
*)
;;
esac
if @<:@ -z ${D}outimpFile @:>@; then
outimpFile=${D}outFile
fi
defFile="${D}{outFile}.def"
arcFile="${D}{outimpFile}.a"
arcFile2="${D}{outimpFile}.lib"
#create ${D}dllFile as something matching 8.3 restrictions,
if @<:@ -z ${D}renameScript @:>@ ; then
dllFile="${D}outFile"
else
dllFile=\`${D}renameScript ${D}outimpFile\`
fi
if @<:@ ${D}do_backup -ne 0 @:>@ ; then
if @<:@ -f ${D}arcFile @:>@ ; then
doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
fi
if @<:@ -f ${D}arcFile2 @:>@ ; then
doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
fi
fi
# Extract public symbols from all the object files.
tmpdefFile=${D}{defFile}_%
rm -f ${D}tmpdefFile
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
;;
esac
done
# Create the def file.
rm -f ${D}defFile
echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
dllFile="${D}{dllFile}.dll"
if @<:@ ! -z ${D}description @:>@; then
echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
fi
echo "EXPORTS" >> ${D}defFile
doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
# Checks if the export is ok or not.
for word in ${D}exclude_symbols; do
grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
mv ${D}{tmpdefFile}% ${D}tmpdefFile
done
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
sed "=" < ${D}tmpdefFile | \\
sed '
N
: loop
s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
t loop
' > ${D}{tmpdefFile}%
grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
else
rm -f ${D}{tmpdefFile}%
fi
cat ${D}tmpdefFile >> ${D}defFile
rm -f ${D}tmpdefFile
# Do linking, create implib, and apply lxlite.
gccCmdl="";
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
gccCmdl="${D}gccCmdl ${D}file"
;;
esac
done
doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
touch "${D}{outFile}.dll"
doCommand "emximp -o ${D}arcFile ${D}defFile"
if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
add_flags="";
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
add_flags="-ynd"
fi
doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
fi
doCommand "emxomf -s -l ${D}arcFile"
# Successful exit.
CleanUp 1
exit 0
EOF
dnl ===================== dllar.sh ends here =====================
])
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_DEPS],
[
dnl ===================== bk-deps begins here =====================
@@ -987,7 +1439,7 @@ while test ${D}# -gt 0; do
args="${D}{args} ${D}1 ${D}2"
shift
;;
-s|-Wl,*)
# collect these load args
ldargs="${D}{ldargs} ${D}1"

View File

@@ -1,26 +0,0 @@
# Created: 2005/03/12
# Author: David Elliott
# For autoconf: Debian in their infinite wisdom decided to improve upon
# the standard autoconf 2.59 macros. Thus Debian's autoconf generates
# a totally different configure script. This fixes it to look
# mostly like Debian's. There are also some fixes pulled in from the OS/2
# fork of autoconf.
# Rule to freeze the m4 so autoconf will actually use it.
# NOTE: VERY important to cd to somewhere there are no .m4 files.
# or at least no aclocal.m4 or else autom4te helpfully picks it up.
.PHONY: all
all: autoconf/autoconf.m4f
AUTOCONF_SOURCES = \
autoconf/c.m4 \
autoconf/general.m4 \
autoconf/libs.m4 \
autoconf/status.m4
AUTOM4TE=autom4te
autoconf/autoconf.m4f: $(AUTOCONF_SOURCES)
$(AUTOM4TE) -B . --language=Autoconf --freeze --output=autoconf/autoconf.m4f

View File

@@ -1,22 +0,0 @@
wxAutohacks
wxAutohacks is a way of ensuring the configure script remains consistent
between developer commits. Previous releases include a build/aclocal_include
which has now been moved into the wxWidgets build/aclocal directory.
At the moment, it is intended to be copied and or symlinked into a wxWidgets
source tree. For example, assume you have wxWidgets checked out in the
/home/myname/wxCVS/wxWidgets/ path. Then from /home/myname/wxCVS do this:
cvs -d :pserver:anoncvs@cvs.wxwidgets.org:/pack/cvsroots/wxwidgets checkout wxAutohacks
You will now have wxAutohacks in /home/myname/wxCVS/wxAutohacks/. Now go into
the wxWidgets build (/home/myname/wxCVS/wxWidgets/build/) and do this:
ln -s ../../wxAutohacks/build/autoconf_prepend-include .
From now on from the root of your wxWidgets source tree when you do this:
make -f build/autogen.mk
you will also build an autoconf.m4f file which will ensure the configure
script stays consistent.
Alternatively you can do this:
make -f build/autogen.mk AUTOHACKS_PREPEND_INCLUDE_DIR=../wxAutohacks/build/autoconf_prepend-include

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,498 +0,0 @@
# This file is part of Autoconf. -*- Autoconf -*-
# Checking for libraries.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception, the Free Software Foundation gives unlimited
# permission to copy, distribute and modify the configure scripts that
# are the output of Autoconf. You need not follow the terms of the GNU
# General Public License when using or distributing such scripts, even
# though portions of the text of Autoconf appear in them. The GNU
# General Public License (GPL) does govern all other use of the material
# that constitutes the Autoconf program.
#
# Certain portions of the Autoconf source text are designed to be copied
# (in certain cases, depending on the input) into the output of
# Autoconf. We call these the "data" portions. The rest of the Autoconf
# source text consists of comments plus executable code that decides which
# of the data portions to output in any given case. We call these
# comments and executable code the "non-data" portions. Autoconf never
# copies any of the non-data portions into its output.
#
# This special exception to the GPL applies to versions of Autoconf
# released by the Free Software Foundation. When you make and
# distribute a modified version of Autoconf, you may extend this special
# exception to the GPL to apply to your modified version as well, *unless*
# your modified version has the potential to copy into its output some
# of the text that was the non-data portion of the version that you started
# with. (In other words, unless your change moves or copies text from
# the non-data portions to the data portions.) If your modification has
# such potential, you must delete any notice of this special exception
# to the GPL from your modified version.
#
# Written by David MacKenzie, with help from
# Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
# Roland McGrath, Noah Friedman, david d zuhn, and many others.
# Table of contents
#
# 1. Generic tests for libraries
# 2. Tests for specific libraries
## --------------------------------- ##
## 1. Generic tests for libraries.## ##
## --------------------------------- ##
# AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [OTHER-LIBRARIES])
# --------------------------------------------------------
# Search for a library defining FUNC, if it's not already available.
AC_DEFUN([AC_SEARCH_LIBS],
[AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
[ac_func_search_save_LIBS=$LIBS
ac_cv_search_$1=no
AC_LINK_IFELSE([AC_LANG_CALL([], [$1])],
[ac_cv_search_$1="none required"])
if test "$ac_cv_search_$1" = no; then
for ac_lib in $2; do
LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
AC_LINK_IFELSE([AC_LANG_CALL([], [$1])],
[ac_cv_search_$1="-l$ac_lib"
break])
done
fi
LIBS=$ac_func_search_save_LIBS])
AS_IF([test "$ac_cv_search_$1" != no],
[test "$ac_cv_search_$1" = "none required" || LIBS="$ac_cv_search_$1 $LIBS"
$3],
[$4])dnl
])
# AC_CHECK_LIB(LIBRARY, FUNCTION,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [OTHER-LIBRARIES])
# ------------------------------------------------------
#
# Use a cache variable name containing both the library and function name,
# because the test really is for library $1 defining function $2, not
# just for library $1. Separate tests with the same $1 and different $2s
# may have different results.
#
# Note that using directly AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$2])
# is asking for troubles, since AC_CHECK_LIB($lib, fun) would give
# ac_cv_lib_$lib_fun, which is definitely not what was meant. Hence
# the AS_LITERAL_IF indirection.
#
# FIXME: This macro is extremely suspicious. It DEFINEs unconditionally,
# whatever the FUNCTION, in addition to not being a *S macro. Note
# that the cache does depend upon the function we are looking for.
#
# It is on purpose we used `ac_check_lib_save_LIBS' and not just
# `ac_save_LIBS': there are many macros which don't want to see `LIBS'
# changed but still want to use AC_CHECK_LIB, so they save `LIBS'.
# And ``ac_save_LIBS' is too tempting a name, so let's leave them some
# freedom.
AC_DEFUN([AC_CHECK_LIB],
[m4_ifval([$3], , [AH_CHECK_LIB([$1])])dnl
AS_LITERAL_IF([$1],
[AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$2])],
[AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1''_$2])])dnl
AC_CACHE_CHECK([for $2 in -l$1], ac_Lib,
[ac_check_lib_save_LIBS=$LIBS
LIBS="-l$1 $5 $LIBS"
AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
[AS_VAR_SET(ac_Lib, yes)],
[AS_VAR_SET(ac_Lib, no)])
LIBS=$ac_check_lib_save_LIBS])
AS_IF([test AS_VAR_GET(ac_Lib) = yes],
[m4_default([$3], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
LIBS="-l$1 $LIBS"
])],
[$4])dnl
AS_VAR_POPDEF([ac_Lib])dnl
])# AC_CHECK_LIB
# AH_CHECK_LIB(LIBNAME)
# ---------------------
m4_define([AH_CHECK_LIB],
[AH_TEMPLATE(AS_TR_CPP(HAVE_LIB$1),
[Define to 1 if you have the `]$1[' library (-l]$1[).])])
# AC_HAVE_LIBRARY(LIBRARY,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [OTHER-LIBRARIES])
# ---------------------------------------------------------
#
# This macro is equivalent to calling `AC_CHECK_LIB' with a FUNCTION
# argument of `main'. In addition, LIBRARY can be written as any of
# `foo', `-lfoo', or `libfoo.a'. In all of those cases, the compiler
# is passed `-lfoo'. However, LIBRARY cannot be a shell variable;
# it must be a literal name.
AU_DEFUN([AC_HAVE_LIBRARY],
[m4_pushdef([AC_Lib_Name],
m4_bpatsubst(m4_bpatsubst([[$1]],
[lib\([^\.]*\)\.a], [\1]),
[-l], []))dnl
AC_CHECK_LIB(AC_Lib_Name, main, [$2], [$3], [$4])dnl
ac_cv_lib_[]AC_Lib_Name()=ac_cv_lib_[]AC_Lib_Name()_main
m4_popdef([AC_Lib_Name])dnl
])
## --------------------------------- ##
## 2. Tests for specific libraries. ##
## --------------------------------- ##
# --------------------- #
# Checks for X window. #
# --------------------- #
# _AC_PATH_X_XMKMF
# ----------------
# Internal subroutine of _AC_PATH_X.
# Set ac_x_includes and/or ac_x_libraries.
m4_define([_AC_PATH_X_XMKMF],
[rm -fr conftest.dir
if mkdir conftest.dir; then
cd conftest.dir
# Make sure to not put "make" in the Imakefile rules, since we grep it out.
cat >Imakefile <<'_ACEOF'
acfindx:
@echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
_ACEOF
if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
# Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
for ac_extension in a so sl; do
if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
test -f $ac_im_libdir/libX11.$ac_extension; then
ac_im_usrlibdir=$ac_im_libdir; break
fi
done
# Screen out bogus values from the imake configuration. They are
# bogus both because they are the default anyway, and because
# using them would break gcc on systems where it needs fixed includes.
case $ac_im_incroot in
/usr/include) ;;
*) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
esac
case $ac_im_usrlibdir in
/usr/lib | /lib) ;;
*) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
esac
fi
cd ..
rm -fr conftest.dir
fi
])# _AC_PATH_X_XMKMF
# _AC_PATH_X_DIRECT
# -----------------
# Internal subroutine of _AC_PATH_X.
# Set ac_x_includes and/or ac_x_libraries.
m4_define([_AC_PATH_X_DIRECT],
[# Standard set of common directories for X headers.
# Check X11 before X11Rn because it is often a symlink to the current release.
ac_x_header_dirs='
/usr/X11/include
/usr/X11R6/include
/usr/X11R5/include
/usr/X11R4/include
/usr/include/X11
/usr/include/X11R6
/usr/include/X11R5
/usr/include/X11R4
/usr/local/X11/include
/usr/local/X11R6/include
/usr/local/X11R5/include
/usr/local/X11R4/include
/usr/local/include/X11
/usr/local/include/X11R6
/usr/local/include/X11R5
/usr/local/include/X11R4
/usr/X386/include
/usr/x386/include
/usr/XFree86/include/X11
/usr/include
/usr/local/include
/usr/unsupported/include
/usr/athena/include
/usr/local/x11r5/include
/usr/lpp/Xamples/include
/usr/openwin/include
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
# Guess where to find include files, by looking for a specified header file.
# First, try using that file with no special directory specified.
AC_PREPROC_IFELSE([AC_LANG_SOURCE([@%:@include <X11/Intrinsic.h>])],
[# We can compile using X headers with no special include directory.
ac_x_includes=],
[for ac_dir in $ac_x_header_dirs; do
if test -r "$ac_dir/X11/Intrinsic.h"; then
ac_x_includes=$ac_dir
break
fi
done])
fi # $ac_x_includes = no
if test "$ac_x_libraries" = no; then
# Check for the libraries.
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
LIBS="-lXt $LIBS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([@%:@include <X11/Intrinsic.h>],
[XtMalloc (0)])],
[LIBS=$ac_save_LIBS
# We can link X programs with no special library path.
ac_x_libraries=],
[LIBS=$ac_save_LIBS
for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
do
# Don't even attempt the hair of trying to link an X program!
for ac_extension in a so sl; do
if test -r $ac_dir/libXt.$ac_extension; then
ac_x_libraries=$ac_dir
break 2
fi
done
done])
fi # $ac_x_libraries = no
])# _AC_PATH_X_DIRECT
# _AC_PATH_X
# ----------
# Compute ac_cv_have_x.
AC_DEFUN([_AC_PATH_X],
[AC_CACHE_VAL(ac_cv_have_x,
[# One or both of the vars are not set, and there is no cached value.
ac_x_includes=no ac_x_libraries=no
_AC_PATH_X_XMKMF
_AC_PATH_X_DIRECT
if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
# Didn't find X anywhere. Cache the known absence of X.
ac_cv_have_x="have_x=no"
else
# Record where we found X for the cache.
ac_cv_have_x="have_x=yes \
ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
fi])dnl
])
# AC_PATH_X
# ---------
# If we find X, set shell vars x_includes and x_libraries to the
# paths, otherwise set no_x=yes.
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
AN_HEADER([X11/Xlib.h], [AC_PATH_X])
AC_DEFUN([AC_PATH_X],
[dnl Document the X abnormal options inherited from history.
m4_divert_once([HELP_BEGIN], [
X features:
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR])dnl
if test "x$ac_path_x_has_been_run" != xyes; then
AC_MSG_CHECKING([for X])
ac_path_x_has_been_run=yes
AC_ARG_WITH(x, [ --with-x use the X Window System])
# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
if test "x$with_x" = xno; then
# The user explicitly disabled X.
have_x=disabled
else
if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
# Both variables are already set.
have_x=yes
else
_AC_PATH_X
fi
eval "$ac_cv_have_x"
fi # $with_x != no
if test "$have_x" != yes; then
AC_MSG_RESULT([$have_x])
no_x=yes
else
# If each of the values was on the command line, it overrides each guess.
test "x$x_includes" = xNONE && x_includes=$ac_x_includes
test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
# Update the cache value to reflect the command line values.
ac_cv_have_x="have_x=yes \
ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
# It might be that x_includes is empty (headers are found in the
# standard search path. Then output the corresponding message
ac_out_x_includes=$x_includes
test "x$x_includes" = x && ac_out_x_includes="in standard search path"
AC_MSG_RESULT([libraries $x_libraries, headers $ac_out_x_includes])
fi
fi])# AC_PATH_X
# AC_PATH_XTRA
# ------------
# Find additional X libraries, magic flags, etc.
AC_DEFUN([AC_PATH_XTRA],
[AC_REQUIRE([AC_PATH_X])dnl
if test "$no_x" = yes; then
# Not all programs may use this symbol, but it does not hurt to define it.
AC_DEFINE([X_DISPLAY_MISSING], 1,
[Define to 1 if the X Window System is missing or not being used.])
X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
else
if test -n "$x_includes"; then
X_CFLAGS="$X_CFLAGS -I$x_includes"
fi
# It would also be nice to do this for all -L options, not just this one.
if test -n "$x_libraries"; then
X_LIBS="$X_LIBS -L$x_libraries"
dnl FIXME: banish uname from this macro!
# For Solaris; some versions of Sun CC require a space after -R and
# others require no space. Words are not sufficient . . . .
case `(uname -sr) 2>/dev/null` in
"SunOS 5"*)
AC_MSG_CHECKING([whether -R must be followed by a space])
ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
AC_LINK_IFELSE([AC_LANG_PROGRAM()], ac_R_nospace=yes, ac_R_nospace=no)
if test $ac_R_nospace = yes; then
AC_MSG_RESULT([no])
X_LIBS="$X_LIBS -R$x_libraries"
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
AC_LINK_IFELSE([AC_LANG_PROGRAM()], ac_R_space=yes, ac_R_space=no)
if test $ac_R_space = yes; then
AC_MSG_RESULT([yes])
X_LIBS="$X_LIBS -R $x_libraries"
else
AC_MSG_RESULT([neither works])
fi
fi
LIBS=$ac_xsave_LIBS
esac
fi
# Check for system-dependent libraries X programs must link with.
# Do this before checking for the system-independent R6 libraries
# (-lICE), since we may need -lsocket or whatever for X linking.
if test "$ISC" = yes; then
X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
else
# Martyn Johnson says this is needed for Ultrix, if the X
# libraries were built with DECnet support. And Karl Berry says
# the Alpha needs dnet_stub (dnet does not exist).
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
AC_LINK_IFELSE([AC_LANG_CALL([], [XOpenDisplay])],
[],
[AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
AC_CHECK_LIB(dnet_stub, dnet_ntoa,
[X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
fi])
LIBS="$ac_xsave_LIBS"
# msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
# to get the SysV transport functions.
# Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
# needs -lnsl.
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to T.E. Dickey.
# The functions gethostbyname, getservbyname, and inet_addr are
# in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
AC_CHECK_FUNC(gethostbyname)
if test $ac_cv_func_gethostbyname = no; then
AC_CHECK_LIB(nsl, gethostbyname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
if test $ac_cv_lib_nsl_gethostbyname = no; then
AC_CHECK_LIB(bsd, gethostbyname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd")
fi
fi
# lieder@skyler.mavd.honeywell.com says without -lsocket,
# socket/setsockopt and other routines are undefined under SCO ODT
# 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
# on later versions), says Simon Leinen: it contains gethostby*
# variants that don't use the name server (or something). -lsocket
# must be given before -lnsl if both are needed. We assume that
# if connect needs -lnsl, so does gethostbyname.
AC_CHECK_FUNC(connect)
if test $ac_cv_func_connect = no; then
AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
$X_EXTRA_LIBS)
fi
# Guillermo Gomez says -lposix is necessary on A/UX.
AC_CHECK_FUNC(remove)
if test $ac_cv_func_remove = no; then
AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
AC_CHECK_FUNC(shmat)
if test $ac_cv_func_shmat = no; then
AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")
fi
fi
# Check for libraries that X11R6 Xt/Xaw programs need.
ac_save_LDFLAGS=$LDFLAGS
test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
# check for ICE first), but we must link in the order -lSM -lICE or
# we get undefined symbols. So assume we have SM if we have ICE.
# These have to be linked with before -lX11, unlike the other
# libraries we check for below, so use a different variable.
# John Interrante, Karl Berry
AC_CHECK_LIB(ICE, IceConnectionNumber,
[X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"], , $X_EXTRA_LIBS)
LDFLAGS=$ac_save_LDFLAGS
fi
AC_SUBST(X_CFLAGS)dnl
AC_SUBST(X_PRE_LIBS)dnl
AC_SUBST(X_LIBS)dnl
AC_SUBST(X_EXTRA_LIBS)dnl
])# AC_PATH_XTRA

File diff suppressed because it is too large Load Diff

View File

@@ -146,8 +146,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/mac/corefoundation/utilsexc_base.cpp
</set>
<set var="BASE_COREFOUNDATION_HDR" hints="files">
wx/mac/corefoundation/cfdataref.h
wx/mac/corefoundation/cfref.h
wx/mac/corefoundation/cfstring.h
wx/mac/corefoundation/hid.h
wx/mac/corefoundation/stdpaths.h
@@ -2075,8 +2073,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
<!-- Native color/font dialogs -->
src/mac/carbon/fontdlgosx.mm
src/mac/carbon/colordlgosx.mm
<!-- cocoa bridge -->
src/mac/carbon/utilscocoa.mm
</if>
</set>
@@ -2436,7 +2432,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/cocoa/toolbar.mm
src/cocoa/tooltip.mm
src/cocoa/toplevel.mm
src/cocoa/utils.mm
src/cocoa/utils.cpp
src/cocoa/utilsexc.mm
src/cocoa/window.mm
<!-- Generic implementations used by wxCocoa: -->
@@ -2522,7 +2518,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/cocoa/textctrl.h
wx/cocoa/timer.h
wx/cocoa/toolbar.h
wx/cocoa/tooltip.h
wx/cocoa/toplevel.h
wx/cocoa/window.h
<!-- Generic implementations used by wxCocoa: -->
@@ -2645,7 +2640,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/univ/stdrend.h
wx/univ/textctrl.h
wx/univ/theme.h
wx/univ/tglbtn.h
wx/univ/toolbar.h
wx/univ/toplevel.h
wx/univ/window.h

View File

@@ -24,7 +24,7 @@
changes, change C:R:A to C:R+1:A
-->
<set var="WX_CURRENT">1</set>
<set var="WX_REVISION">1</set>
<set var="WX_REVISION">0</set>
<set var="WX_AGE">1</set>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" ?>
<?xml version="1.0" ?>
<!-- $Id$ -->
<!-- Original source: http://wiki.wxwidgets.org/wiki.pl?Bakefile -->
@@ -47,7 +47,6 @@ FIXME: this template has (at least) the following bugs:
<set var="WX_UNICODE">0</set>
<set var="WX_DEBUG">1</set>
<set var="WX_SHARED">0</set>
<set var="WX_PYTHON">0</set>
</if>
@@ -114,16 +113,6 @@ FIXME: this template has (at least) the following bugs:
</option>
</if>
<!-- set this to 1 to use specific settings for wxPython -->
<if cond="not isdefined('WX_PYTHON')">
<option name="WX_PYTHON" category="path">
<values>0,1</values>
<default-value>0</default-value>
<description>
Whether or not we're building against wxPython libraries.
</description>
</option>
</if>
<!-- HELPER VARIABLES -->
<!-- -->
@@ -140,23 +129,19 @@ FIXME: this template has (at least) the following bugs:
<!-- The debug define we need with win32 compilers -->
<!-- (on Linux, the wx-config program is used). -->
<set var="WXDEBUG_DEFINE">
<if cond="WX_PYTHON=='1'">__WXDEBUG__</if>
<if cond="WX_PYTHON=='0' and WX_DEBUG=='1'">__WXDEBUG__</if>
<if cond="WX_DEBUG=='1'">__WXDEBUG__</if>
</set>
<!-- These are handy ways of dealing with the -->
<!-- extensions in the library names of the -->
<!-- wxWindows library. -->
<set var="WXLIBPOSTFIX">
<if cond="WX_PYTHON=='1' and WX_UNICODE=='1'">uh</if>
<if cond="WX_PYTHON=='1' and WX_UNICODE=='0'">h</if>
<if cond="WX_PYTHON=='0' and WX_DEBUG=='1' and WX_UNICODE=='1'">ud</if>
<if cond="WX_PYTHON=='0' and WX_DEBUG=='1' and WX_UNICODE=='0'">d</if>
<if cond="WX_PYTHON=='0' and WX_DEBUG=='0' and WX_UNICODE=='1'">u</if>
<if cond="WX_DEBUG=='1' and WX_UNICODE=='1'">ud</if>
<if cond="WX_DEBUG=='1' and WX_UNICODE=='0'">d</if>
<if cond="WX_DEBUG=='0' and WX_UNICODE=='1'">u</if>
</set>
<set var="WX3RDPARTYLIBPOSTFIX">
<if cond="WX_PYTHON==0 and WX_DEBUG=='1'">d</if>
<if cond="WX_PYTHON==1">h</if>
<if cond="WX_DEBUG=='1'">d</if>
</set>
<set var="WXCPU">
@@ -177,7 +162,10 @@ FIXME: this template has (at least) the following bugs:
<!-- All the possible mixes for the wx library names -->
<set var="WXLIB_BASE_NAME">
<if cond="WX_MONOLITHIC=='0'">wxbase$(WX_VERSION)$(WXLIBPOSTFIX)</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud</if>
<!--
the trick used to support monolithic builds is here: when the
@@ -185,50 +173,92 @@ FIXME: this template has (at least) the following bugs:
WX_MONOLITHIC=1, then the base library is translated to the
monolithic library
-->
<if cond="WX_MONOLITHIC=='1'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u</if>
<if cond="WX_MONOLITHIC=='1' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud</if>
</set>
<!-- Libraries whose name is prefixed with 'wxbase' -->
<set var="WXLIB_NET_NAME">
<if cond="WX_MONOLITHIC=='0'">wxbase$(WX_VERSION)$(WXLIBPOSTFIX)_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u_net</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud_net</if>
</set>
<set var="WXLIB_XML_NAME">
<if cond="WX_MONOLITHIC=='0'">wxbase$(WX_VERSION)$(WXLIBPOSTFIX)_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u_xml</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud_xml</if>
</set>
<set var="WXLIB_ODBC_NAME">
<if cond="WX_MONOLITHIC=='0'">wxbase$(WX_VERSION)$(WXLIBPOSTFIX)_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wxbase$(WX_VERSION)_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wxbase$(WX_VERSION)d_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wxbase$(WX_VERSION)u_odbc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wxbase$(WX_VERSION)ud_odbc</if>
</set>
<!-- Libraries whose name is prefixed with 'wx' only -->
<set var="WXLIB_CORE_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_core</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_core</if>
</set>
<set var="WXLIB_MEDIA_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_media</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_media</if>
</set>
<set var="WXLIB_XRC_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_xrc</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_xrc</if>
</set>
<set var="WXLIB_HTML_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_html</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_html</if>
</set>
<set var="WXLIB_ADV_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_adv</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_adv</if>
</set>
<set var="WXLIB_QA_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_qa</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_qa</if>
</set>
<set var="WXLIB_DBGRID_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_dbgrid</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_dbgrid</if>
</set>
<set var="WXLIB_GL_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_gl</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_gl</if>
</set>
<set var="WXLIB_AUI_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)$(WXLIBPOSTFIX)_aui</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_aui</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_aui</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_aui</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_aui</if>
</set>
<set var="WXLIB_RICHTEXT_NAME">
<if cond="WX_MONOLITHIC=='0'">wx$(WXPORT)$(WX_VERSION)($WXLIBPOSTFIX)_richtext</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)_richtext</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='0' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)d_richtext</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='0'">wx$(WXPORT)$(WX_VERSION)u_richtext</if>
<if cond="WX_MONOLITHIC=='0' and WX_UNICODE=='1' and WX_DEBUG=='1'">wx$(WXPORT)$(WX_VERSION)ud_richtext</if>
</set>

View File

@@ -4141,7 +4141,7 @@ $(SETUPHDIR)\wx\msw\rcdefs.h: $(SETUPHDIR)\wx\msw ..\..\include\wx\msw\genrcdefs
build_cfg_file: $(SETUPHDIR)
@echo WXVER_MAJOR=2 >$(BUILD_CFG_FILE)
@echo WXVER_MINOR=8 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=3 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=2 >>$(BUILD_CFG_FILE)
@echo BUILD=$(BUILD) >>$(BUILD_CFG_FILE)
@echo MONOLITHIC=$(MONOLITHIC) >>$(BUILD_CFG_FILE)
@echo SHARED=$(SHARED) >>$(BUILD_CFG_FILE)

View File

@@ -4258,7 +4258,7 @@ $(SETUPHDIR)\wx\msw\rcdefs.h: $(SETUPHDIR)\wx\msw ..\..\include\wx\msw\genrcdefs
build_cfg_file: $(SETUPHDIR)
@echo WXVER_MAJOR=2 >$(BUILD_CFG_FILE)
@echo WXVER_MINOR=8 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=3 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=2 >>$(BUILD_CFG_FILE)
@echo BUILD=$(BUILD) >>$(BUILD_CFG_FILE)
@echo MONOLITHIC=$(MONOLITHIC) >>$(BUILD_CFG_FILE)
@echo SHARED=$(SHARED) >>$(BUILD_CFG_FILE)

View File

@@ -4474,7 +4474,7 @@ $(SETUPHDIR)\wx\msw\rcdefs.h: $(SETUPHDIR)\wx\msw ..\..\include\wx\msw\genrcdefs
build_cfg_file: $(SETUPHDIR)
@echo WXVER_MAJOR=2 >$(BUILD_CFG_FILE)
@echo WXVER_MINOR=8 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=3 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=2 >>$(BUILD_CFG_FILE)
@echo BUILD=$(BUILD) >>$(BUILD_CFG_FILE)
@echo MONOLITHIC=$(MONOLITHIC) >>$(BUILD_CFG_FILE)
@echo SHARED=$(SHARED) >>$(BUILD_CFG_FILE)

View File

@@ -4486,7 +4486,7 @@ $(SETUPHDIR)\wx\msw\rcdefs.h : $(SETUPHDIR)\wx\msw ..\..\include\wx\msw\genrcde
build_cfg_file : .SYMBOLIC $(SETUPHDIR)
@echo WXVER_MAJOR=2 >$(BUILD_CFG_FILE)
@echo WXVER_MINOR=8 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=3 >>$(BUILD_CFG_FILE)
@echo WXVER_RELEASE=2 >>$(BUILD_CFG_FILE)
@echo BUILD=$(BUILD) >>$(BUILD_CFG_FILE)
@echo MONOLITHIC=$(MONOLITHIC) >>$(BUILD_CFG_FILE)
@echo SHARED=$(SHARED) >>$(BUILD_CFG_FILE)

View File

@@ -1,7 +1,5 @@
rem Uncomment the next line to set the version; used also in wxWidgets.iss
SET WXW_VER=2.8.4
SET WXW_VER=2.8.1
if (%WXW_VER%)==() SET WXW_VER=CVS
echo docs building for %WXW_VER%
@@ -59,7 +57,7 @@ mkdir %WXWIN%\docs\pdf
mkdir %WXWIN%\docs\htmlhelp
mkdir %WXWIN%\docs\htb
echo starting word >> c:\temp.log
start /WAIT winword /mwx28_ps
start /WAIT winword /mwx_ps
echo cvs doc up part 2 >> c:\temp.log

View File

@@ -2,7 +2,7 @@
' laserjet ps driver
' Note that the output dir and hardcoded printer must exist
Sub wx28_ps()
Sub wx_ps()
swxWIN = Environ("WXWIN")
do_ps swxWIN & "\docs\pdf\", "wx"
do_ps swxWIN & "\contrib\docs\latex\svg", "svg"
@@ -15,4 +15,28 @@ Sub wx28_ps()
bye_bye
End Sub
Sub do_ps(mydir, myfile)
' wx_ps Macro
' Macro recorded 04/05/2005 by cje2
'
sDAILYIN = Environ("DAILY") & "\in\"
ChangeFileOpenDirectory mydir
Documents.Open FileName:=myfile & ".rtf", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto
ActivePrinter = "\\biolpc22\laserjet"
ActiveDocument.Fields.Update
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
Collate:=True, Background:=False, PrintToFile:=True, PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0, _
OutputFileName:=sDAILYIN & myfile & ".ps", Append:=False
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
End Sub
Sub bye_bye()
Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub

3292
configure vendored

File diff suppressed because one or more lines are too long

View File

@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
dnl initialization
dnl ---------------------------------------------------------------------------
AC_INIT([wxWidgets], [2.8.4], [wx-dev@lists.wxwidgets.org])
AC_INIT([wxWidgets], [2.8.2], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
@@ -34,8 +34,8 @@ dnl wx_release_number += 1
wx_major_version_number=2
wx_minor_version_number=8
wx_release_number=4
wx_subrelease_number=2
wx_release_number=2
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -820,9 +820,6 @@ else
DEFAULT_wxUSE_GTK2=yes
fi
dnl Always default to no. Only special cases require this.
DEFAULT_wxUSE_OBJC_UNIQUIFYING=no
dnl WX_ARG_WITH should be used to select whether an external package will be
dnl used or not, to configure compile-time features of this package itself,
@@ -945,7 +942,6 @@ WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 co
WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH)
WX_ARG_ENABLE(objc_uniquifying,[ --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING)
dnl ---------------------------------------------------------------------------
dnl (small) optional non GUI classes
@@ -1841,7 +1837,7 @@ AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h,,, [AC_
dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
if test "$ac_cv_header_wchar_h" != "yes"; then
AC_CHECK_HEADERS(wcstr.h,,, [AC_INCLUDES_DEFAULT()])
AC_CHECK_HEADER(wcstr.h,,, [AC_INCLUDES_DEFAULT()])
fi
case "${host}" in
@@ -1859,7 +1855,7 @@ esac
dnl POSIX needs this for select(), but old systems don't have it
if test "$USE_UNIX" = 1 ; then
AC_CHECK_HEADERS([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
fi
dnl ---------------------------------------------------------------------------
@@ -1926,7 +1922,6 @@ dnl checks needed to define wxVaCopy
AC_CACHE_CHECK([for va_copy],
wx_cv_func_va_copy,
[
AC_LANG_PUSH(C++)
AC_LINK_IFELSE([
#include <stdarg.h>
void foo(char *f, ...)
@@ -1945,7 +1940,6 @@ AC_CACHE_CHECK([for va_copy],
wx_cv_func_va_copy=yes,
wx_cv_func_va_copy=no
)
AC_LANG_POP()
]
)
@@ -2108,55 +2102,18 @@ if test "x$SUNCC" = xyes; then
CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
fi
dnl SGI mipsPro compiler version 7.4.4 and later (and maybe some earlier
dnl versions too but it's known that 7.4 doesn't give this warning) gives this
dnl warning for "conversion from pointer to same-sized integral type" even when
dnl there is an explicit cast and as there is no way to turn it off and there
dnl are hundreds of these warnings in wx sources, just turn it off for now
dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
dnl same-sized integral type" even when there is an explicit cast and as there
dnl is no way to turn it off and there are hundreds of these warnings in wx
dnl sources, just turn it off for now
dnl
dnl a better long term solution would be to use #pragma set/reset woff in
dnl wxPtrToUInt() and use it instead of casts elsewhere
if test "x$SGICC" = "xyes"; then
AC_CACHE_CHECK([if cc version is 7.4.4 or greater],
wx_cv_prog_sgicc744,
[
AC_TRY_COMPILE([],
[
#if _SGI_COMPILER_VERSION >= 744
chock me: mipsPro is 7.4.4 or later
#endif
],
wx_cv_prog_sgicc744=no,
wx_cv_prog_sgicc744=yes
)
]
)
if test "x$wx_cv_prog_sgicc744" = "xyes"; then
CFLAGS="-woff 3970 $CFLAGS"
fi
CFLAGS="-woff 3970 $CFLAGS"
fi
if test "x$SGICXX" = "xyes"; then
AC_CACHE_CHECK([if CC version is 7.4.4 or greater],
wx_cv_prog_sgicxx744,
[
AC_LANG_PUSH(C++)
AC_TRY_COMPILE([],
[
#if _SGI_COMPILER_VERSION >= 744
chock me: mipsPro is 7.4.4 or later
#endif
],
wx_cv_prog_sgicxx744=no,
wx_cv_prog_sgicxx744=yes
)
AC_LANG_POP()
]
)
if test "x$wx_cv_prog_sgicxx744" = "xyes"; then
CXXFLAGS="-woff 3970 $CXXFLAGS"
fi
CXXFLAGS="-woff 3970 $CXXFLAGS"
fi
dnl HP-UX c89/aCC compiler warnings
@@ -2182,7 +2139,7 @@ if test "x$COMPAQCXX" = "xyes"; then
dnl intconlosbit: "conversion to integral type of smaller size could lose
dnl data" this is a useful warning but there are too many of
dnl them for now
CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit $CXXFLAGS"
CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
fi
dnl the next few tests are all for C++ features and so need to be done using
@@ -3015,7 +2972,7 @@ WIDGET_SET=
dnl are we building for a win32 target environment?
dnl If so, setup common stuff needed for both GUI and Base libs.
if test "$USE_WIN32" = 1 ; then
AC_CHECK_HEADERS(w32api.h,,, [ ])
AC_CHECK_HEADER(w32api.h,,, [ ])
AC_CHECK_HEADER(windows.h,,
[
AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
@@ -3852,8 +3809,8 @@ dnl do this after test for X11 above so that we have a chance of finding Xlib.h
if test "$wxUSE_GUI" = "yes"; then
if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
dnl defines HAVE_X11_XKBLIB_H
AC_CHECK_HEADERS(X11/Xlib.h,,, [ ])
AC_CHECK_HEADERS([X11/XKBlib.h],,,
AC_CHECK_HEADER(X11/Xlib.h,,, [ ])
AC_CHECK_HEADER([X11/XKBlib.h],,,
[
#if HAVE_X11_XLIB_H
#include <X11/Xlib.h>
@@ -3936,7 +3893,7 @@ dnl ---------------------------------------------------------------------------
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
if test "$ac_find_libraries" != "" ; then
AC_MSG_RESULT([yes])
AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
AC_CHECK_HEADER([X11/extensions/xf86vmode.h],
[
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
],
@@ -4680,7 +4637,7 @@ if test "$wxUSE_UNICODE" = yes; then
#include <wchar.h>"
case "${host}" in
*-*-solaris2* )
AC_CHECK_HEADERS(widec.h,,, [AC_INCLUDES_DEFAULT()])
AC_CHECK_HEADER(widec.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_widec_h" = "yes"; then
wchar_headers="$wchar_headers
#include <widec.h>"
@@ -4709,11 +4666,7 @@ if test "$wxUSE_FILE" = "yes"; then
WX_CHECK_FUNCS(fsync)
fi
dnl at least under IRIX with mipsPro the C99 round() function is available when
dnl building using the C compiler but not when using C++ one
AC_LANG_PUSH(C++)
WX_CHECK_FUNCS(round,,,[#include <math.h>])
AC_LANG_POP()
dnl the following tests are for Unix(like) systems only
if test "$TOOLKIT" != "MSW"; then
@@ -4953,7 +4906,7 @@ dnl check for timegm() used by datetime.cpp
AC_CHECK_FUNCS(timegm)
dnl look for a function to modify the environment
AC_CHECK_FUNCS(setenv putenv, break)
AC_CHECK_FUNCS(putenv setenv, break)
HAVE_SOME_SLEEP_FUNC=0
if test "$USE_BEOS" = 1; then
@@ -5047,7 +5000,7 @@ dnl ------------------------------------------
dnl Check for ESD:
EXTRALIBS_ESD=
AC_CHECK_LIB(esd, esd_close, [
AC_CHECK_HEADERS([esd.h], [
AC_CHECK_HEADER([esd.h], [
EXTRALIBS_ESD="-lesd"
],
[],
@@ -5286,7 +5239,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
fi
AC_CHECK_HEADERS(sched.h,,, [AC_INCLUDES_DEFAULT()])
AC_CHECK_HEADER(sched.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sched_h" = "yes"; then
AC_CHECK_FUNC(sched_yield,
AC_DEFINE(HAVE_SCHED_YIELD),
@@ -6082,9 +6035,6 @@ if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
AC_DEFINE(wxUSE_PRINTF_POS_PARAMS)
fi
if test "$wxUSE_OBJC_UNIQUIFYING" = "yes"; then
AC_DEFINE(wxUSE_OBJC_UNIQUIFYING)
fi
dnl ---------------------------------------------------------------------------
dnl time/date functions
@@ -6092,7 +6042,8 @@ dnl ---------------------------------------------------------------------------
if test "$wxUSE_DATETIME" = "yes"; then
dnl check for strptime and for its declaration as some systems lack it
AC_CHECK_FUNC(strptime)
dnl FIXME: use WX_CHECK_FUNCS instead
AC_CHECK_FUNCS(strptime)
if test "$ac_cv_func_strptime" = "yes"; then
AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
[
@@ -6114,40 +6065,6 @@ if test "$wxUSE_DATETIME" = "yes"; then
fi
if test "$wx_cv_func_strptime_decl" = "yes"; then
AC_DEFINE(HAVE_STRPTIME_DECL)
else
wx_strptime_decl="extern char *strptime(const char *, const char *, struct tm *);"
fi
if test "$ac_cv_func_strptime" = "yes"; then
dnl strptime() behaviour doesn't conform to POSIX under Mac OS X <
dnl 10.5 and possibly other BSD variants, check that strptime() we
dnl have fails to parse format when the string doesn't match it instea
dnl of just stopping immediately and returning non-NULL
AC_CACHE_CHECK([whether strptime() fails on invalid strings],
wx_cv_func_strptime_ok,
[AC_RUN_IFELSE(
[
#include <stdlib.h>
#include <time.h>
#include "confdefs.h"
$wx_strptime_decl
int main()
{
struct tm t;
return !!strptime("", "%x", &t);
}
],
wx_cv_func_strptime_ok=yes,
wx_cv_func_strptime_ok=no,
dnl be pessimistic when cross-compiling
wx_cv_func_strptime_ok=no
)]
)
if test "$wx_cv_func_strptime_ok" = "yes"; then
AC_DEFINE(HAVE_STRPTIME)
fi
fi
dnl check for timezone variable
@@ -6529,7 +6446,7 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
dnl can't be compiled because of an error and with the default
dnl AC_CHECK_HEADER semantics we'd still detect it in this case and
dnl build would fail later
AC_CHECK_HEADERS(linux/joystick.h, [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()])
AC_CHECK_HEADER(linux/joystick.h, [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()])
fi
fi
@@ -6666,7 +6583,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
-o "$wxUSE_CLIPBOARD" = "yes" \
-o "$wxUSE_OLE" = "yes" \
-o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
AC_CHECK_HEADERS(ole2.h,,, [ ])
AC_CHECK_HEADER(ole2.h,,, [ ])
if test "$ac_cv_header_ole2_h" = "yes" ; then
if test "$GCC" = yes ; then
@@ -7107,14 +7024,17 @@ if test "$wxUSE_TREECTRL" = "yes"; then
fi
if test "$wxUSE_POPUPWIN" = "yes"; then
if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 -o "$wxUSE_PM" = 1 \
-o "$wxUSE_DFB" = 1; then
AC_MSG_WARN([Popup window not yet supported on this platform... disabled])
if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
else
AC_DEFINE(wxUSE_POPUPWIN)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS popup"
if test "$wxUSE_PM" = 1; then
AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
else
AC_DEFINE(wxUSE_POPUPWIN)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS popup"
USES_CONTROLS=1
USES_CONTROLS=1
fi
fi
fi
@@ -7240,8 +7160,13 @@ fi
if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
"$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
fi
fi
if test "$wxUSE_VALIDATORS" = "yes"; then
AC_DEFINE(wxUSE_VALIDATORS)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
@@ -7547,12 +7472,14 @@ dnl all additional libraries (except wxWidgets itself) we link with
if test "$wxUSE_MAC" = 1 ; then
if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
if test "$USE_DARWIN" != 1; then
if test "$USE_DARWIN" = 1; then
LDFLAGS="$LDFLAGS -framework QuickTime"
else
LDFLAGS="$LDFLAGS -lQuickTimeLib"
fi
fi
if test "$USE_DARWIN" = 1; then
LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime"
LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
else
LDFLAGS="$LDFLAGS -lCarbonLib"
fi
@@ -7578,7 +7505,7 @@ if test "$wxUSE_GUI" = "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
dynamic erase event exec font image minimal mobile \
mobile/wxedit mobile/styles propsize render \
rotate shaped taskbar vscroll widgets"
rotate shaped vscroll widgets"
if test "$wxUSE_MONOLITHIC" != "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"

73
debian/changelog vendored
View File

@@ -1,61 +1,4 @@
wxwidgets2.8 (2.8.4.2-0) unstable; urgency=low
* Pacakges now support all Python versions in `pyversions -r`
* If the system Python supports it a debug wxPython package is built that
can be installed side-by-side with the non-debug package
* Added colour normalization to PNM image handler (Ray Johnston).
* Fixed selecting part of word from right to left in wxHTML (Michael Hieke).
* Selecting text in wxHTML with character precision was made easier, it's
enough to select half of a character (Michael Hieke).
* Significantly improved startup times of XRC-based applications using
embedded resources on Unix (requires resources recompilation).
* Fixed freeing of "static" alpha data in wxImage (Axel Gembe).
* Added tab mouse click events to wxAuiNotebook (Ben Williams).
* Option for middle-click tab close in wxAuiNotebook (Ben Williams).
* Added wxAuiNotebook::SetFont, GetTabCtrlHeight, GetHeightForPageHeight.
* Added SetBitmap/GetBitmap to wxWizard, to allow e.g. on-the-fly creation
of bitmap to fit page height.
* Fixed wxXPMHandler::SaveFile for images with more than 92 colors.
* Fixed a crash in wxGrid on creation due to OnSize being called too soon.
* Fixed missing key events in wxGTK1 build.
* Setting foreground colour of single line wxTextCtrl now works.
* More work on setting defaults in GNOME print dialogs.
* Also made landscape printing work as per wxMSW.
* Add support for (rectangular) clipping in GNOME print backend.
* Speed up wxBitmap::Rescale().
* Add right button event for wxToolbar's tools (Tim Kosse).
* Made wxWindow::SetScrollPos and wxScrollbar::SetThumbPos
not emit any event.
* Correct hyperactive mouse wheel support.
* Correct grid line mode in wxListCtrl.
* Don't unconditionally add wxCAPTION style to wxMiniFrame.
* Fixed crash in file and dir pickers for GTK+ < 2.6 if compiled
with GTK+ >= 2.6.
* Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change
-- Robin Dunn <robin@alldunn.com> Thu, 19 Jul 2007 15:42:23 -0700
wxwidgets2.8 (2.8.4.0-0) unstable; urgency=low
* Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem)
* Fix wxStringOutputStream::Write() in Unicode build when the argument
overlaps UTF-8 characters boundary
* Account for lines without newline at the end in wxExecute()
* Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse)
* Allow status bar children in XRC (Edmunt Pienkowski)
* Fix memory leak in wxWizard when not using sizers for the page layout
* Fix infinite loop when adding a wxStaticText control to a toolbar
* Fix wxNO_BORDER style for wxRadioBox (David Hart)
* wxComboBox::SetValue() doesn't emit EVT_TEXT anymore
* Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr)
* Added wxString::char_str(), wchar_str(), From8BitData(), To8BitData(),
FromUTF8(), ToUTF8() and utf8_str() methods for forward compatiblity
with wxWidgets 3
-- Vadim Zeitlin <vadim@wxwindows.org> May, 09 Wed 2007 23:10:01 +0200
wxwidgets2.8 (2.8.3.0-0) unstable; urgency=low
wxwidgets2.8 (2.8.2.0-0) unstable; urgency=low
* Added wxSizerFlags::Shaped(), FixedMinSize(), Top() and Bottom() methods.
* Added wxCSConv::IsOk() (Manuel Martin).
@@ -65,7 +8,7 @@ wxwidgets2.8 (2.8.3.0-0) unstable; urgency=low
* Added wxSearchCtrl::[Get|Set]DescriptiveText.
* Added wxToolBar::SetTool[Normal|Disabled]Bitmap for wxMSW, wxGTK and wxMac.
* Added wxRICHTEXT_SETSTYLE_REMOVE flag for removing styles, and
wxRICHTEXT_HITTEST_OUTSIDE for more accurate hit-testing.
* wxRICHTEXT_HITTEST_OUTSIDE for more accurate hit-testing.
* Fixed a crash when writing wxRichTextCtrl styles.
* wxPython: enhanced the widget inspection tool
* wxPython: Added wrappers for wx.SizerFlags and wx.Sizer methods using it
@@ -73,16 +16,8 @@ wxwidgets2.8 (2.8.3.0-0) unstable; urgency=low
* Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
* Implemented background colour in wxRichTextCtrl.
* Fixed crashes in helpview when opening a file.
* Fixed detection of number of processors under Linux 2.6
* Fixed Base64 computation in wxHTTP (p_michalczyk)
* Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk)
* Fixed crash in wxGetUserName() in Unicode build
* Fix hang on startup when using GTK+ options in Unicode build
* Shut down the sockets gracefully (Sergio Aguayo)
* Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal)
* Fixed handling of accelerators using PageUp/Down keys
-- Robin Dunn <robin@alldunn.com> Tue, 20 Mar 2007 14:00:50 -0800
-- Robin Dunn <robin@alldunn.com> Fri, 5 Mar 2007 14:15:03 -0800
wxwidgets2.8 (2.8.1.1-0) unstable; urgency=low

162
debian/control.in vendored
View File

@@ -1,10 +1,9 @@
Source: wxwidgets=V
Section: libs
Priority: optional
Build-Depends: debhelper (>=4.0), flex, bison, gettext, bc, libgtk2.0-dev, =PY_BUILD_DEPS, zlib1g-dev, libjpeg62-dev, libpng12-dev, libtiff4-dev, libsm-dev, libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libesd0-dev, libgnomeprintui2.2-dev, libgconf2-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev
Build-Depends: debhelper (>=4.0), flex, bison, gettext, libgtk2.0-dev, =PY, =PY-dev, zlib1g-dev, libjpeg62-dev, libpng12-dev, libtiff4-dev, libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libesd0-dev, libgnomeprintui2.2-dev, libgconf2-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev
Maintainer: wxWidgets dev-team <wx-dev@lists.wxwidgets.org>
XS-Python-Version: all
Standards-Version: 3.7.2.1
Standards-Version: 3.6.2.1
Package: libwxbase=SOV=U
Architecture: any
@@ -26,7 +25,7 @@ Description: wxBase library (runtime) - non-GUI support classes of wxWidgets too
Package: libwxbase=V=U-dev
Architecture: any
Section: libdevel
Depends: wx=V-headers (= ${Source-Version}), libwxbase=SOV=U (= ${Source-Version}), libc6-dev | libc-dev
Depends: wx=V-headers (= ${Source-Version}), libwxbase=SOV=U (= ${Source-Version}), libc6-dev
Suggests: wx=V-doc, gettext
Description: wxBase library (development) - non-GUI support classes of wxWidgets toolkit
wxBase is a collection of C++ classes providing basic data structures
@@ -76,7 +75,7 @@ Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ runtime)
Package: libwxgtk=V=U-dev
Architecture: any
Section: libdevel
Depends: wx=V-headers (= ${Source-Version}), libwxgtk=SOV=U (= ${Source-Version}), libwxbase=V=U-dev (= ${Source-Version})
Depends: wx=V-headers (= ${Source-Version}), libwxgtk=SOV=U (= ${Source-Version}), libwxbase=V=U-dev (= ${Source-Version}), libc6-dev
Suggests: wx-common, wx=V-doc, libstdc++-dev, gettext, xlibmesa-gl-dev | libgl-dev, xlibmesa-glu-dev | libglu-dev
Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
@@ -91,7 +90,7 @@ Package: libwxgtk=V=U-dbg
Architecture: any
Section: libdevel
Priority: extra
Depends: wx=V-headers (= ${Source-Version}), libwxbase=V=U-dbg (= ${Source-Version})
Depends: wx=V-headers (= ${Source-Version}), libwxbase=V=U-dbg (= ${Source-Version}), libc6-dev
Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
@@ -102,6 +101,79 @@ Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
provides many internal checks by wxWidgets itself that are not performed on
apps compiled with the 'release version' libs in the -dev package.
Package: python-wxgtk=V=U
Architecture: any
Section: python
Depends: python-wxversion, =PY, ${shlibs:Depends}
Suggests: wx=V-doc, wx=V-examples, =PY-xml
Conflicts: libwxgtk2.6-0-python, wxpython2.6-0
Replaces: libwxgtk2.6-0-python, wxpython2.6-0
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides a Python binding to the wxGTK library and the
wxPython runtime support libraries. If you wish to use xrc you'll also
need the =PY-xml package installed.
Package: python-wxgtk=V=U-dbg
Architecture: any
Section: python
Depends: python-wxversion, =PY, ${shlibs:Depends}
Conflicts: python-wxgtk=V=U
Replaces: python-wxgtk=V=U
Provides: python-wxgtk=V=U
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding)
wxWidgets is a class library for C++ providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows.
.
This package provides a Python binding to the wxGTK debug library.
It is useful for developers as many common errors may be caught, but
you should _never_ upload packages to Debian that depend upon this
package explicitly, use the python-wxgtk=V=U package instead.
.
If you wish to use xrc you'll also need the =PY-xml package installed.
Package: python-wxversion
Architecture: all
Section: python
Conflicts: wxpython2.6-0
Replaces: wxpython2.6-0
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython version selector)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides the wxPython version selector.
Package: python-wxaddons
Architecture: all
Section: python
Conflicts: python-wxgtk2.6
Replaces:
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython add-on packages base)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides a base Python package for 3rd party add-ons.
Package: python-wxtools
Architecture: all
Section: python
Depends: python-wxgtk=V=U
Conflicts: wxpython2.6-0
Replaces: wxpython2.6-0, libwxgtk2.4-python, wxpython2.4-1
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython common files)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides support utilities and common files for wxPython=V=U.
If you wish to use xrced you'll also need the =PY-xml package installed.
Package: wx-common
Architecture: any
Section: devel
@@ -187,81 +259,3 @@ Depends: wx=V-headers (= ${Source-Version})
Description: Extra wxWidgets headers for mingw32msvc-cross
Headers required by the wxWidgets mingw32msvc-cross libraries.
Package: python-wxgtk=V=U
Architecture: any
Section: python
Depends: python-wxversion, ${python:Depends}, ${shlibs:Depends}
Suggests: wx=V-doc, wx=V-examples, python-xml
Conflicts: libwxgtk2.6-0-python, wxpython2.6-0
Replaces: libwxgtk2.6-0-python, wxpython2.6-0
XB-Python-Version: ${python:Versions}
Provides: ${python:Provides}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides a Python binding to the wxGTK library and the
wxPython runtime support libraries. If you wish to use xrc you'll also
need the python-xml package installed.
Package: python-wxgtk=V=U-dbg
Priority: extra
Architecture: any
Section: python
Depends: python-wxgtk=V=U (= ${Source-Version}), python-dbg, ${shlibs:Depends}
Suggests: python-xml-dbg
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding, debug version)
wxWidgets is a class library for C++ providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows.
.
This package provides a Python binding to the wxGTK debug library.
This package contains the extensions built for the python debug interpreter.
Package: python-wxversion
Architecture: all
Section: python
Depends: ${python:Depends}
Conflicts: wxpython2.6-0
Replaces: wxpython2.6-0
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython version selector)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides the wxPython version selector.
Package: python-wxaddons
Architecture: all
Section: python
Conflicts: python-wxgtk2.6 (<< 2.6.4.0)
Depends: ${python:Depends}, python-wxgtk=V=U
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython add-on packages base)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides a base Python package for 3rd party add-ons.
Package: python-wxtools
Architecture: all
Section: python
Depends: python-wxgtk=V=U, ${python:Depends}
Conflicts: wxpython2.6-0
Replaces: wxpython2.6-0, libwxgtk2.4-python, wxpython2.4-1
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython common files)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides support utilities and common files for wxPython=V=U.
If you wish to use xrced you'll also need the python-xml package installed.

8
debian/copyright vendored
View File

@@ -1,13 +1,13 @@
This package was debianized by Ron Lee <ron@debian.org> on
Sun, 13 Feb 2000 18:40:00 +1030.
More information about wxWidgets, as well as the source these debs
are produced from can be found at www.wxwidgets.org
more information about wxWindows, as well as the source these debs
are produced from can be found at www.wxwindows.org
Note for Debian users:
======================
Most of the core wxWidgets library is licenced under the wxWindows Library
Most of the core wxWindows library is licenced under the wxWindows Library
Licence (included below), however some additional features of the library
may include source licenced under terms which do not include the exception
permitting you to licence binary object code versions of works based on the
@@ -20,7 +20,7 @@ you wish to release your code under a licence which does not grant all of
the same rights as the LGPL would assert but would be permitted under the
terms of the exception, then you are strongly advised to either check the
licencing terms of all components that these debs (and all future versions
that you use) are built with, or build your own binaries of wxWidgets which
that you use) are built with, or build your own binaries of wxWindows which
include only such code as is definitely covered by the exception.
You should presume that these debs will fall under the provisions of the

View File

@@ -1,6 +0,0 @@
#!/bin/sh
set -e
#DEBHELPER#

View File

@@ -1,6 +0,0 @@
#!/bin/sh
set -e
#DEBHELPER#

View File

@@ -2,20 +2,15 @@
set -e
WXPYTHONDIR="=WXPYDIR"
PYVERS="=PYVERS"
WXPYTHONDIR="/=WXPYDIR"
if [ "$1" = "configure" ]; then
for PY in $PYVERS; do
$PY /usr/lib/$PY/compileall.py -q /usr/lib/$PY/site-pacakges/${WXPYTHONDIR}
$PY -O /usr/lib/$PY/compileall.py -q /usr/lib/$PY/site-pacakges/${WXPYTHONDIR}
done
=PY /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
=PY -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
fi
for PY in $PYVERS; do
update-alternatives --install /usr/lib/$PY/site-packages/wx.pth wx.pth \
/usr/lib/wx/$PY/wx=V-dbg.pth $(( =PRIO - 10 ))
done
update-alternatives --install /usr/lib/=PY/site-packages/wx.pth wx.pth \
/usr/lib/wx/python/wx=V-dbg.pth $(( =PRIO - 10 ))
#DEBHELPER#

View File

@@ -5,9 +5,7 @@ set -e
PACKAGE="python-wxgtk=V-dbg"
dpkg --listfiles $PACKAGE | awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | xargs rm -f >&2
for PY in =PYVERS; do
update-alternatives --remove wx.pth /usr/lib/wx/$PY/wx=V-dbg.pth
done
update-alternatives --remove wx.pth /usr/lib/wx/python/wx=V-dbg.pth
#DEBHELPER#

View File

@@ -2,14 +2,15 @@
set -e
WXPYTHONDIR="=WXPYDIR"
PYVERS="=PYVERS"
WXPYTHONDIR="/=WXPYDIR"
for PY in $PYVERS; do
update-alternatives --install /usr/lib/python$PY/site-packages/wx.pth \
wx-python$PY.pth \
/usr/lib/wx/python$PY/wx=V.pth =PRIO
done
if [ "$1" = "configure" ]; then
=PY /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
=PY -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
fi
update-alternatives --install /usr/lib/=PY/site-packages/wx.pth wx.pth \
/usr/lib/wx/python/wx=V.pth =PRIO
#DEBHELPER#

View File

@@ -2,9 +2,10 @@
set -e
for PY in =PYVERS; do
update-alternatives --remove wx-python$PY.pth /usr/lib/wx/python$PY/wx=V.pth
done
PACKAGE="python-wxgtk=V"
dpkg --listfiles $PACKAGE | awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | xargs rm -f >&2
update-alternatives --remove wx.pth /usr/lib/wx/python/wx=V.pth
#DEBHELPER#

View File

@@ -1,6 +0,0 @@
#!/bin/sh
set -e
#DEBHELPER#

View File

@@ -1,6 +0,0 @@
#!/bin/sh
set -e
#DEBHELPER#

617
debian/rules vendored
View File

@@ -5,20 +5,24 @@
# variously stolen code :-)
# It makes copious use of the debhelper utilities written by
# Joey Hess and others.
#
# Significantly hacked up in July 2007 by Robin Dunn
#
#export DH_VERBOSE=1
export DH_OPTIONS
ifdef CONCURRENCY_LEVEL
# A user who knows what they want, that's like gold...
# respect their precious opinion of how much blue smoke to use.
JOB_COUNT := $(CONCURRENCY_LEVEL)
else ifdef DISTCC_HOSTS
# Otherwise, if they have a cluster, try to put it to good use.
JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$\#)
# Not much faster, but it might keep you warm in winter...
#JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$(($$\# + $$\#)))
endif
ifdef JOB_COUNT
@@ -27,37 +31,7 @@ else
FAST_MAKE = $(MAKE)
endif
# Find the python version(s) to build for
PYVERS := $(shell pyversions -vr 2> /dev/null || pyversions -vs 2> /dev/null)
ifeq ($(strip $(PYVERS)),)
PYVERS := $(shell python -c 'import sys; print sys.version[:3]')
NO_PYCENTRAL = 1
PY_BUILD_DEPS = python$(PYVERS), python$(PYVERS)-dbg, python$(PYVERS)-dev
else
DEB_PYTHON_SYSTEM=pycentral
PY_BUILD_DEPS = python-all, python-all-dev, python-dbg, python-central
endif
# The python-dbg on Dapper had a configuration bug that makes trying
# to use distutils with it error out. The problem seems to be that
# the exec_prefix was set wrong. Try to detect that so we can skip
# building the py -dbg pacakge there.
ifeq (/usr, $(shell python-dbg -c "import sys;print sys.exec_prefix" 2> /dev/null))
# Also check if this python will put the _d on the end of the
# extension modules as this is needed to allow them to be installed
# side-by-side with the non-debug package. Ubuntu appears to be
# handling this by adding a sys.pydebug attribute that is checked for
# in distutils to know which config dir to use. We can use the same
# thing here, but there should probably be a safer way to do it.
ifeq (True, $(shell python-dbg -c "import sys; print hasattr(sys,'pydebug') and sys.pydebug" 2> /dev/null))
# This means it is ok to try and build the dbg wxPython package
PY_DBG_OK = 1
endif
endif
-include debian/python-version
# If another source package is to supply the common binary packages
@@ -66,7 +40,8 @@ endif
# all if this is to be the default (or only) wx source package for the
# target release.
#
#DEBIAN_WX_DEFAULT_VERSION = 2.8
# for etch:
#DEBIAN_WX_DEFAULT_VERSION = 2.6
# This will extract a flavour out of the name of the source directory
@@ -86,7 +61,6 @@ wx_major_version_number := $(shell sed -n 's/^wx_major_version_number=//p' confi
wx_minor_version_number := $(shell sed -n 's/^wx_minor_version_number=//p' configure.in)
wx_release_number := $(shell sed -n 's/^wx_release_number=//p' configure.in)
wx_subrelease_number := $(shell sed -n 's/^wx_subrelease_number=//p' configure.in)
full_version := $(wx_major_version_number).$(wx_minor_version_number).$(wx_release_number).$(wx_subrelease_number)
##release := $(shell dpkg-parsechangelog | sed -n 's/^Source: wxwidgets//p' | sed 's/-ansi//')
release := $(wx_major_version_number).$(wx_minor_version_number)
@@ -114,6 +88,10 @@ endif
# Base value for alternative priorities.
alt_prio := $(subst .,,$(release))
pytoolkit := gtk2
pydir := usr/lib/$(python_ver)/site-packages
wxpydir := $(pydir)/wx-$(compatible_release)-$(pytoolkit)
cross_host := i586-mingw32msvc
cross_build := $(shell ./config.guess)
@@ -145,7 +123,6 @@ GTK_CONFIGURE_OPTIONS = $(COMMON_CONFIGURE_OPTIONS) \
--with-libtiff=sys \
pytoolkit := gtk2
PY_WX_CONFIG_OPTIONS = --version=$(release) --toolkit=$(pytoolkit) --static=no
WX_UNICODE := 1
@@ -154,8 +131,8 @@ WX_OPENGL := 1
ifeq ($(WX_UNICODE),1)
COMMON_CONFIGURE_OPTIONS += --enable-unicode
PY_WX_CONFIG_OPTIONS += --unicode
PY_UNICODE = UNICODE=1
wxpydir := wx-$(compatible_release)-$(pytoolkit)-unicode
PY_UNICODE="UNICODE=1"
wxpydir := $(pydir)/wx-$(compatible_release)-$(pytoolkit)-unicode
# for compatibility with the existing 2.6 packages, we don't use "u" in
# the Unicode (default) package names
@@ -164,21 +141,15 @@ else
# but we do need to use something for non-Unicode packages to distinguish
# them
unicode_suffix := -ansi
PY_UNICODE = UNICODE=0
wxpydir := wx-$(compatible_release)-$(pytoolkit)
endif
ifeq ($(WX_OPENGL),1)
GTK_CONFIGURE_OPTIONS += --with-opengl
PY_OPENGL = BUILD_GLCANVAS=1
else
GTK_CONFIGURE_OPTIONS += --without-opengl
PY_OPENGL = BUILD_GLCANVAS=0
endif
#---------------------------------------------------------------------------
# Packages to build
# Packages to build:
package_wxbase_lib := libwxbase$(sorelease)$(unicode_suffix)
package_wxbase_dev := libwxbase$(release)$(unicode_suffix)-dev
package_wxbase_dbg := libwxbase$(release)$(unicode_suffix)-dbg
@@ -187,44 +158,45 @@ package_gtk_lib := libwxgtk$(sorelease)$(unicode_suffix)
package_gtk_dev := libwxgtk$(release)$(unicode_suffix)-dev
package_gtk_dbg := libwxgtk$(release)$(unicode_suffix)-dbg
package_gtk_py_lib := python-wxgtk$(release)$(unicode_suffix)
package_gtk_py_ver = python-wxversion
package_gtk_py_tools = python-wxtools
package_gtk_py_addons = python-wxaddons
package_headers := wx$(release)-headers
package_i18n := wx$(release)-i18n
package_doc := wx$(release)-doc
package_examples := wx$(release)-examples
package_common = wx-common
package_gtk_py_lib := python-wxgtk$(release)$(unicode_suffix)
package_gtk_py_ver = python-wxversion
package_gtk_py_tools = python-wxtools
package_gtk_py_addons = python-wxaddons
package_gtk_dbg_py := python-wxgtk$(release)$(unicode_suffix)-dbg
# The packages listed here are common to all wx versions, and may be provided
# by another source package if more than one is in the release simultaneously.
common_packages := $(package_common) $(package_gtk_py_ver) $(package_gtk_py_tools) $(package_gtk_py_addons)
package_gtk_dbg_py := python-wxgtk$(release)$(unicode_suffix)-dbg
package_msw_dev := libwxmsw$(release)$(unicode_suffix)-dev
package_msw_dbg := libwxmsw$(release)$(unicode_suffix)-dbg
package_headers_msw := wx$(release)-headers-msw
# The packages listed here will not be built by default.
extra_packages := $(package_msw_dev) $(package_msw_dbg) $(package_headers_msw)
extra_packages := $(package_gtk_dbg_py) \
$(package_msw_dev) $(package_msw_dbg) $(package_headers_msw)
ifdef DEBIAN_WX_DEFAULT_VERSION
extra_packages += $(common_packages)
endif
ifndef PY_DBG_OK
extra_packages += $(package_gtk_dbg_py)
extra_packages += $(common_packages)
endif
#---------------------------------------------------------------------------
# Build directories
# Build directories:
objdir_wxbase_shared = objs_wxbase_sh
objdir_wxbase_debug = objs_wxbase_d
objdir_gtk_shared = objs_gtk_sh
@@ -246,9 +218,6 @@ objdirs := $(objdir_wxbase_shared) $(objdir_wxbase_debug) \
$(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \
$(objdir_msw_install)
#---------------------------------------------------------------------------
# Build stamps:
# note that the i18n package is actually arch indep (once built)
# but must be built (and installed) during the arch any phase as
# it's pulled out of the wxGTK shared lib package.
@@ -257,14 +226,11 @@ objdirs := $(objdir_wxbase_shared) $(objdir_wxbase_debug) \
# all files for it are installed during the arch any phase.
# Build stamps:
build_arch_stamps = build-wxbase-shared-stamp build-wxbase-debug-stamp \
build-gtk-shared-stamp build-gtk-shared-contrib-stamp \
build-gtk-debug-stamp build-gtk-debug-contrib-stamp \
build-i18n-stamp build-gtk-py-stamp
ifdef PY_DBG_OK
build_arch_stamps += build-gtk-dbg-py-stamp
endif
build-i18n-stamp build-gtk-py-stamp
build_indep_stamps = build-examples-stamp build-doc-stamp
@@ -275,19 +241,16 @@ build_stamps_native := $(build_arch_stamps) $(build_indep_stamps)
build_stamps := $(build_stamps_native) $(build_cross_stamps)
#---------------------------------------------------------------------------
# Install targets:
install_all_arch = install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \
install-headers install-i18n install-gtk-py
install_all_arch = install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \
install-headers install-i18n \
install-gtk-py
ifndef DEBIAN_WX_DEFAULT_VERSION
install_all_arch += install-common
endif
ifdef PY_DBG_OK
install_all_arch += install-gtk-dbg-py
install_all_arch += install-common
endif
install_all_indep = install-examples install-doc
@@ -299,15 +262,25 @@ install_all_native := $(install_all_arch) $(install_all_indep)
install_all := $(install_all_native) $(install_all_cross)
# wxPython uses this to build in-tree
wxconfig := $(shell pwd)/$(objdir_gtk_shared)/wx-config --no_rpath
wxconfig-dbg := $(shell pwd)/$(objdir_gtk_debug)/wx-config --no_rpath
#---------------------------------------------------------------------------
# Setup Rules:
# and this after it is installed.
py_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug=no
pyd_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug
debian/control: debian/control.in debian/rules
sed -e 's/=V/$(release)/g; '\
' s/=SOV/$(sorelease)/g; '\
' s/=U/$(unicode_suffix)/g; '\
' s/=PY_BUILD_DEPS/$(PY_BUILD_DEPS)/g '\
#contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*)))
# The Rules:
debian/python-version:
echo python_ver := python$(shell python -c "import sys;print sys.version[:3]") > $@
debian/control: $(addprefix debian/,control.in python-version)
sed -e 's/=V/$(release)/g;s/=SOV/$(sorelease)/g;s/=PY/$(python_ver)/g;s/=U/$(unicode_suffix)/g'\
< debian/control.in > debian/control
control-files-stamp: debian/control
@@ -342,13 +315,21 @@ control-files-stamp: debian/control
done;
@for f in docs postinst prerm; do \
echo "generating control file $(package_gtk_py_lib).$$f"; \
sed -e 's/=PYVERS/$(PYVERS)/g; '\
sed -e 's/=PY/$(python_ver)/g; '\
' s|=WXPYDIR|$(wxpydir)|g; '\
' s/=V/$(release)/g; '\
' s/=PRIO/$(alt_prio)/g' \
< debian/python-wxgtk.$$f \
> debian/$(package_gtk_py_lib).$$f; \
done;
@for f in postinst prerm; do \
echo "generating control file $(package_gtk_dbg_py).$$f"; \
sed -e 's/=PY/$(python_ver)/g; '\
' s/=V/$(release)/g; '\
' s/=PRIO/$(alt_prio)/g' \
< debian/python-wxgtk-dbg.$$f \
> debian/$(package_gtk_dbg_py).$$f; \
done;
@echo "generating control file $(package_gtk_dbg_py).docs";
@cp debian/python-wxgtk.docs debian/$(package_gtk_dbg_py).docs;
@for f in docs doc-base; do \
@@ -386,9 +367,6 @@ control-files-stamp: debian/control
> debian/lintian-override; \
touch $@
#---------------------------------------------------------------------------
# wx Build rules
build_arch: control-files-stamp $(build_arch_stamps)
build_all: control-files-stamp $(build_stamps_native)
@@ -405,10 +383,7 @@ build: build_arch
# libwxbase. We need to configure it here in order to get the correct
# config files to use it alone, but there is no point building it as the
# wxgtk build is going to do that again anyway. We'll move the relevant
# files out when that is done.
#
# TODO: Is this still necessary? Can we just take the wxbase files
# from the wxgui build now without special treatment?
# files out when that is done.
configure-wxbase-shared-stamp:
dh_testdir
@@ -475,17 +450,33 @@ build-gtk-debug-contrib-stamp: build-gtk-debug-stamp
touch $@
purge-dbg-py:
@if [ ! -e build-gtk-py-stamp ]; then \
$(MAKE) -f debian/rules clean-py; \
fi
$(RM) build-gtk-dbg-py-stamp
build-gtk-py-stamp: build-gtk-shared-stamp purge-dbg-py
dh_testdir
touch docs/lgpl.txt
cd wxPython \
&& $(python_ver) ./setup.py build \
WX_CONFIG='$(wxconfig)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
touch $@
build-doc-stamp: build-gtk-shared-stamp
dh_testdir
# the tarball may already have the generated docs in it
@if [ ! -e docs/html/wx/index.html ]; then \
echo Generating docs...; \
if [ ! -e docs/html/wx/index.html ]; then \
cd $(objdir_gtk_shared)/utils/tex2rtf/src && $(FAST_MAKE); \
cd -; \
rm -rf $(objdir_doc); \
rm -rf $(objdir_doc_cruft); \
mkdir -p $(objdir_doc); \
mkdir -p $(objdir_doc_cruft); \
mkdir $(objdir_doc); \
mkdir $(objdir_doc_cruft); \
cd $(objdir_doc_cruft); \
LD_LIBRARY_PATH=../$(objdir_gtk_shared)/lib:$(LD_LIBRARY_PATH) \
../$(objdir_gtk_shared)/utils/tex2rtf/src/tex2rtf \
@@ -497,8 +488,7 @@ build-doc-stamp: build-gtk-shared-stamp
rm -rf $(objdir_doc_cruft); \
rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref}; \
else \
echo Copying docs...; \
mkdir -p $(objdir_doc); \
mkdir $(objdir_doc); \
cp docs/html/wx/* $(objdir_doc); \
mv $(objdir_doc)/index.html $(objdir_doc)/wx-$(release)-manual_contents.html; \
fi
@@ -541,60 +531,24 @@ build-i18n-stamp: build-gtk-shared-stamp
&& $(MAKE) allmo
touch $@
#---------------------------------------------------------------------------
# wxPython build rules
purge-release-py:
@if [ ! -e build-gtk-dbg-py-stamp ]; then \
$(MAKE) -f debian/rules clean-py; \
fi
$(RM) build-gtk-py-stamp
# wxPython uses this to build in-tree
wxconfig := $(shell pwd)/$(objdir_gtk_shared)/wx-config --no_rpath
wxconfig-dbg := $(shell pwd)/$(objdir_gtk_debug)/wx-config --no_rpath
# and this after it is installed.
py_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug=no
pyd_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug
build-gtk-py-stamp: build-gtk-shared-contrib-stamp $(PYVERS:%=build-gtk-py%-stamp)
touch $@
# Notice the make magic here with the % sign. In effect this
# duplicates this rule for every matching dependency, and then the
# value of the match can be used in the recipe as $*. The
# $(PYVERS...) substitution above gives us one dependency for every
# version of Python that we are supporting.
build-gtk-py%-stamp:
build-gtk-dbg-py-stamp: build-gtk-debug-stamp purge-release-py
dh_testdir
touch docs/lgpl.txt
cd wxPython && \
python$* ./setup.py build \
WX_CONFIG='$(wxconfig)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
$(PY_OPENGL) \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
cd wxPython \
&& $(python_ver) ./setup.py build \
WX_CONFIG='$(wxconfig-dbg)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg
touch $@
build-gtk-dbg-py-stamp: build-gtk-debug-contrib-stamp $(PYVERS:%=build-gtk-dbg-py%-stamp)
touch $@
build-gtk-dbg-py%-stamp:
dh_testdir
touch docs/lgpl.txt
cd wxPython && \
python$*-dbg ./setup.py build \
WX_CONFIG='$(wxconfig-dbg)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
$(PY_OPENGL) \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
touch $@
#---------------------------------------------------------------------------
# MSW cross build rules
configure-msw-shared-stamp:
dh_testdir
mkdir -p $(objdir_msw_shared)
@@ -645,12 +599,16 @@ build-msw-dbg-stamp: configure-msw-dbg-stamp
cd $(objdir_msw_dbg) && $(FAST_MAKE)
touch $@
#---------------------------------------------------------------------------
# Cleaning rules
clean-py:
cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py src/__version__.py
cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py
# What to do about src/__version__.py ???
# We do the equivalent of this above by removing build, unfortunately
# its not enough by itself to get the tree properly clean again.
# && ./setup.py clean
clean: debian/control clean-py
dh_testdir
@@ -677,12 +635,6 @@ clean: debian/control clean-py
rm -f debian/$(package_msw_dbg).*
rm -f debian/lintian-override
rm -f debian/unpack_examples.sh
find -name '*.py[co]' | xargs -r rm -f
rm -rf include/wx-$(release)
#---------------------------------------------------------------------------
# wx Install Rules
install_arch: build_arch $(install_all_arch)
@@ -760,6 +712,97 @@ install-gtk-dbg: build-gtk-debug-stamp build-gtk-debug-contrib-stamp
cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg)
install-gtk-py-lib: DH_OPTIONS=-p$(package_gtk_py_lib)
install-gtk-py-lib: build-gtk-py-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs usr/lib/wx/python
cd wxPython \
&& $(python_ver) ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_py_lib)/usr \
WX_CONFIG='$(wxconfig)' \
SYS_WX_CONFIG='$(py_wxconfig)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
mv debian/$(package_gtk_py_lib)/$(pydir)/wx.pth \
debian/$(package_gtk_py_lib)/usr/lib/wx/python/wx$(release).pth
find debian/$(package_gtk_py_lib)/$(pydir) -name '*.py?' -exec rm '{}' ';'
# This is rather bogus, its included in the main copyright file now though.
rm -f debian/$(package_gtk_py_lib)/$(wxpydir)/wx/tools/XRCed/license.txt
install-gtk-py-ver: DH_OPTIONS=-p$(package_gtk_py_ver)
install-gtk-py-ver: install-gtk-py-lib
dh_testdir
dh_testroot
dh_clean -k
ifndef DEBIAN_WX_DEFAULT_VERSION
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) $(pydir)/wxversion.py
else
rm debian/$(package_gtk_py_lib)/$(pydir)/wxversion.py
endif
install-gtk-py-tools: DH_OPTIONS=-p$(package_gtk_py_tools)
install-gtk-py-tools: install-gtk-py-ver
dh_testdir
dh_testroot
dh_clean -k
ifndef DEBIAN_WX_DEFAULT_VERSION
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) usr/bin
dh_installman debian/wxPython-tools.1
dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2xpm.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2png.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pycrust.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyshell.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/xrced.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalacarte.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalamode.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywxrc.1
dh_installdirs usr/share/lintian/overrides
cp debian/lintian-override debian/$(package_gtk_py_tools)/usr/share/lintian/overrides/$(package_gtk_py_tools)
endif
mkdir -p debian/$(package_gtk_py_tools)/usr/share/pixmaps
mkdir -p debian/$(package_gtk_py_tools)/usr/share/applications
cp wxPython/wx/py/PyCrust_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/pycrust.png
cp wxPython/wx/py/PyCrust_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/pyshell.png
cp wxPython/wx/tools/XRCed/XRCed_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/xrced.png
cp debian/pycrust.desktop debian/$(package_gtk_py_tools)/usr/share/applications
cp debian/pyshell.desktop debian/$(package_gtk_py_tools)/usr/share/applications
cp debian/xrced.desktop debian/$(package_gtk_py_tools)/usr/share/applications
rm -r debian/$(package_gtk_py_lib)/usr/bin
install-gtk-py-addons: DH_OPTIONS=-p$(package_gtk_py_addons)
install-gtk-py-addons: install-gtk-py-tools
dh_testdir
dh_testroot
dh_clean -k
ifndef DEBIAN_WX_DEFAULT_VERSION
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) $(pydir)/wxaddons
else
rm -r debian/$(package_gtk_py_lib)/$(pydir)/wxaddons
endif
install-gtk-py: install-gtk-py-addons
install-common: DH_OPTIONS=-p$(package_common)
install-common: install-gtk-shared-stamp
@@ -793,13 +836,7 @@ install-headers: install-gtk-shared-stamp
# dh_movefiles --sourcedir=$(objdir_univ_install)
dh_install $(objdir_gtk_install)/include usr
# TODO: Should probably use setup.py's install of the wxPython headers...
mkdir -p debian/$(package_headers)/usr/include/wx-$(release)/wx/wxPython
cp -p wxPython/include/wx/wxPython/*.h \
debian/$(package_headers)/usr/include/wx-$(release)/wx/wxPython/
install-i18n: DH_OPTIONS=-p$(package_i18n)
install-i18n: build-i18n-stamp install-gtk-shared-stamp
dh_testdir
@@ -807,163 +844,47 @@ install-i18n: build-i18n-stamp install-gtk-shared-stamp
dh_clean -k
dh_install $(objdir_gtk_install)/share/locale usr/share
install-doc: DH_OPTIONS=-p$(package_doc)
install-doc: build-doc-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_install $(objdir_doc) usr/share/doc/$(package_doc)
@# Link this monstrosity with an overly obfuscated name
@# to something that both people and browsers can expect to find.
dh_link usr/share/doc/$(package_doc)/wx-manual.html/wx-$(release)-manual_contents.html \
usr/share/doc/$(package_doc)/wx-manual.html/index.html
install-examples: DH_OPTIONS=-p$(package_examples)
install-examples: build-examples-stamp
dh_testdir
dh_testroot
dh_clean -k
#---------------------------------------------------------------------------
# wxPython install rules
install-gtk-py-lib: DH_OPTIONS=-p$(package_gtk_py_lib)
install-gtk-py-lib: build-gtk-py-stamp install-gtk-py-lib-prereq $(PYVERS:%=install-gtk-py%-lib)
install-gtk-py-lib-prereq:
dh_testdir
dh_testroot
dh_clean -k
# More makefile magic here to duplicate this rule for all supported Python versions
install-gtk-py%-lib:
dh_installdirs usr/lib/wx/python$*
cd wxPython && \
python$* ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_py_lib)/usr \
WX_CONFIG='$(wxconfig)' \
SYS_WX_CONFIG='$(py_wxconfig)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
$(PY_OPENGL) \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
mv debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages/wx.pth \
debian/$(package_gtk_py_lib)/usr/lib/wx/python$*/wx$(release).pth
find debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages \
-name '*.py?' -exec rm '{}' ';'
rm -f debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages/$(wxpydir)/wx/tools/XRCed/license.txt
ifndef DEBIAN_WX_DEFAULT_VERSION
@# Move files out for the wxversion package
DH_OPTIONS=-p$(package_gtk_py_ver) \
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) \
usr/lib/python$*/site-packages/wxversion.py
endif
rm -f debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages/wxversion.py
rm -f debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages/wxPython_common*.egg-info
ifndef DEBIAN_WX_DEFAULT_VERSION
@# Move files out for the wxaddons package
DH_OPTIONS=-p$(package_gtk_py_addons) \
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) \
usr/lib/python$*/site-packages/wxaddons
if [ -e debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages/wxaddons-$(full_version).egg-info ]; then \
DH_OPTIONS=-p$(package_gtk_py_addons) \
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) \
usr/lib/python$*/site-packages/wxaddons-$(full_version).egg-info; \
fi
endif
rm -rf debian/$(package_gtk_py_lib)/usr/lib/python$*/site-packages/wxaddons*
install-gtk-py-tools: DH_OPTIONS=-p$(package_gtk_py_tools)
install-gtk-py-tools: install-gtk-py-lib
dh_testdir
dh_testroot
dh_clean -k
ifndef DEBIAN_WX_DEFAULT_VERSION
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) usr/bin
@# replace the pythonX.Y in the scripts with just python
for f in debian/$(package_gtk_py_tools)/usr/bin/*; do \
sed '1s,#!.*python[^ ]*\(.*\),#!/usr/bin/python\1,' $$f > $$f.tmp; \
mv $$f.tmp $$f; \
chmod +x $$f; \
done
dh_installman debian/wxPython-tools.1
dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2xpm.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2png.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pycrust.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyshell.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/xrced.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalacarte.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalamode.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywxrc.1
dh_installdirs usr/share/lintian/overrides
cp debian/lintian-override debian/$(package_gtk_py_tools)/usr/share/lintian/overrides/$(package_gtk_py_tools)
mkdir -p debian/$(package_gtk_py_tools)/usr/share/pixmaps
mkdir -p debian/$(package_gtk_py_tools)/usr/share/applications
cp wxPython/wx/py/PyCrust_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/pycrust.png
cp wxPython/wx/py/PyCrust_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/pyshell.png
cp wxPython/wx/tools/XRCed/XRCed_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/xrced.png
cp debian/pycrust.desktop debian/$(package_gtk_py_tools)/usr/share/applications
cp debian/pyshell.desktop debian/$(package_gtk_py_tools)/usr/share/applications
cp debian/xrced.desktop debian/$(package_gtk_py_tools)/usr/share/applications
endif
rm -r debian/$(package_gtk_py_lib)/usr/bin
install-gtk-py: install-gtk-py-tools
install-gtk-dbg-py: DH_OPTIONS=-p$(package_gtk_dbg_py)
install-gtk-dbg-py: build-gtk-dbg-py-stamp install-gtk-dbg-py-prereq $(PYVERS:%=install-gtk-dbg-py%)
install-gtk-dbg-py-prereq:
install-gtk-dbg-py: build-gtk-dbg-py-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs usr/lib/wx/python
cd wxPython \
&& $(python_ver) ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_dbg_py)/usr \
WX_CONFIG='$(wxconfig-dbg)' \
SYS_WX_CONFIG='$(pyd_wxconfig)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg
install-gtk-dbg-py%:
dh_installdirs usr/lib/wx/pythnon$*
cd wxPython && \
python$*-dbg ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_dbg_py)/usr \
WX_CONFIG='$(wxconfig-dbg)' \
SYS_WX_CONFIG='$(pyd_wxconfig)' \
WXPORT=$(pytoolkit) \
$(PY_UNICODE) \
$(PY_OPENGL) \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
mv debian/$(package_gtk_py_lib)/$(pydir)/wx.pth \
debian/$(package_gtk_py_lib)/usr/lib/wx/python/wx$(release)-dbg.pth
# Remove all files but the *_d.so
find debian/$(package_gtk_dbg_py) \
! -type d ! \( -name '*_d.so' -o -name '*.h' \) | xargs rm -f
find debian/$(package_gtk_dbg_py) -depth -empty -exec rmdir {} \;
find debian/$(package_gtk_dbg_py)/$(pydir) -name '*.py?' -exec rm '{}' ';'
rm -rf usr/bin $(pydir)/{wxversion.py,wx.pth}
# This is rather bogus, its included in the main copyright file now though.
rm -f debian/$(package_gtk_dbg_py)/$(wxpydir)/wx/tools/XRCed/license.txt
#---------------------------------------------------------------------------
# MSW cross install rules
install-msw-dev: DH_OPTIONS=-p$(package_msw_dev)
install-msw-dev: build-msw-shared-stamp build-msw-static-stamp
@@ -1030,72 +951,52 @@ install-headers-msw:
dh_install $(objdir_msw_install)/include/wx-$(release)/wx/msw usr/$(cross_host)/include/wx-$(release)/wx
#---------------------------------------------------------------------------
# Tying it all together
binary-common:
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installmenu
dh_link
binary-indep: build_all install
dh_testdir -i
dh_testroot -i
dh_installdocs -i
dh_installchangelogs -i
dh_installexamples -i
dh_installmenu -i
ifdef NO_PYCENTRAL
dh_python -i
else
dh_pycentral -i
endif
dh_link -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
binary-arch: DH_OPTIONS=$(addprefix -N,$(extra_packages))
binary-arch: build_arch install_arch
dh_testdir -a
dh_testroot -a
dh_installdocs -a
dh_installchangelogs -a
dh_installexamples -a
dh_installmenu -a
ifdef PY_DBG_OK
rm -rf debian/$(package_gtk_dbg_py)/usr/share/doc/$(package_gtk_dbg_py)
ln -s $(package_gtk_py_lib) debian/$(package_gtk_dbg_py)/usr/share/doc/$(package_gtk_dbg_py)
else
rm -rf debian/$(package_gtk_dbg_py)
endif
ifdef NO_PYCENTRAL
dh_python -a
else
dh_pycentral -a
endif
# Don't strip debug libs at all, and strip cross libs elsewhere
# with the cross host tools until dh_strip gets smarter.
dh_strip -p$(package_gtk_py_lib) --dbg-package=$(package_gtk_dbg_py)
@# Don't strip debug libs at all, and strip cross libs elsewhere
@# with the cross host tools until dh_strip gets smarter.
dh_strip -N$(package_gtk_dbg) -N$(package_wxbase_dbg) \
-N$(package_msw_dev) -N$(package_msw_dbg) \
-N$(package_gtk_py_lib) -N$(package_gtk_dbg_py)
-N$(package_msw_dev) -N$(package_msw_dbg)
dh_link -a
dh_compress -a
dh_fixperms -a
dh_makeshlibs -N$(package_gtk_py_lib) -N$(package_gtk_dbg_py) -V
dh_installdeb -a
dh_compress
dh_fixperms
@# Don't do this for the dbg-py special build because dh_makeshlibs
@# will crap out if it is called with no packages to act on.
@if [ "x$(DH_OPTIONS)" != "-p$(package_gtk_dbg_py)" ]; then \
echo "dh_makeshlibs -N$(package_gtk_py_lib) -V"; \
dh_makeshlibs -N$(package_gtk_py_lib) -V; \
fi
dh_installdeb
dh_shlibdeps -ldebian/$(package_wxbase_lib)/usr/lib:debian/$(package_wxbase_dbg)/usr/lib:debian/$(package_gtk_lib)/usr/lib:debian/$(package_gtk_dbg)/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture-independent files here.
# Note that you currently can't build the indep packages without first
# building the arch specific package files needed to create them.
binary-indep: build_all install
$(MAKE) -f debian/rules \
DH_OPTIONS="-i $(addprefix -N,$(extra_packages))" \
binary-common
# Build just the architecture-dependent files here.
binary-arch: build_arch install_arch
$(MAKE) -f debian/rules \
DH_OPTIONS="-a $(addprefix -N,$(extra_packages))" \
binary-common
# Build all packages target.
binary: binary-indep binary-arch
binary: binary-arch binary-indep
# This is a special target for building the wxMSW-cross packages.
@@ -1109,6 +1010,12 @@ binary-cross: control-files-stamp $(install_all_cross)
binary-common
# Build wxPython against libwxgtk-dbg. This package will conflict
# with the release build one, but may be useful to some people.
binary-dbg-py: control-files-stamp install-gtk-dbg-py
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg_py)" binary-common
############################################################################
#
# Some rules to build a subset of the complete list of packages that can be

View File

@@ -49,13 +49,10 @@ if [ "${1}/../include/wx/mac/setup0.h" -nt "${1}/../include/wx/mac/setup.h" ] ;
echo "${0}:${LINENO}: warning: edit or replace \"include/wx/mac/setup.h\" to integrate changes"
fi
#
# Copy user setup.h to build setup.h if the latter doesn't exist or is older
# Copy setup.h to setup.h if setup.h doesn't exist
#
if [ ! -f "${2}/include/wx/setup.h" -o \
"${1}/../include/wx/mac/setup.h" -nt "${2}/include/wx/setup.h" ] ; then
cp "${1}/../include/wx/mac/setup.h" "${2}/include/wx/setup.h"
if [ ! -f "${2}/include/wx/setup.h" ] ; then
echo "${0}:${LINENO}: error: unable to create target setup file \"${2}/include/wx/setup.h\""
exit 1
fi
cp "${1}/../include/wx/mac/setup.h" "${2}/include/wx/setup.h"
if [ ! -f "${2}/include/wx/setup.h" ] ; then
echo "${0}:${LINENO}: error: unable to create target setup file \"${2}/include/wx/setup.h\""
exit 1
fi

View File

@@ -17,7 +17,7 @@ DOCDIR=${WX_TEMP_DIR}/wxWidgets/docs/
CURDATE=`date -I`
# build info
BUILD_VERSION=2.8.4
BUILD_VERSION=2.8.2
BUILD_TAG=HEAD

View File

@@ -60,7 +60,7 @@ getfilelist(){
fi
if [ $port = "mgl" ] || [ $port = "all" ]; then
filelist="$filelist univ.rsp mgl.rsp"
filelist="$filelist mgl.rsp"
fi
if [ $port = "dfb" ] || [ $port = "all" ]; then
@@ -68,7 +68,7 @@ getfilelist(){
fi
if [ $port = "gtk" ] || [ $port = "all" ]; then
filelist="$filelist gtk.rsp gtk1.rsp"
filelist="$filelist gtk.rsp"
fi
if [ $port = "motif" ] || [ $port = "all" ]; then

View File

@@ -19,52 +19,46 @@ UNICODE_OPTS="--enable-unicode"
ANSI_OPTS="--enable-ansi"
WXPYTHON_OPTS="--with-opengl \
--enable-sound --with-sdl \
--with-gnomeprint \
--enable-graphics_ctx \
--enable-mediactrl \
--enable-display \
--enable-geometry \
--enable-debug_flag \
--enable-optimise \
--disable-debugreport \
--enable-monolithic"
WXPYTHON_OPTS="--enable-monolithic \
--with-opengl \
--enable-sound \
--enable-mediactrl \
--enable-display \
--enable-geometry \
--enable-debug_flag \
--enable-optimise \
--disable-debugreport "
do_build(){
OPTS=""
if [ "$WXPYTHON" = "1" ]; then
if [ "$WXPYTHON" == "1" ]; then
OPTS="$WXPYTHON_OPTS"
fi
if [ "$DEBUG" = "1" ]; then
if [ "$DEBUG" == "1" ]; then
OPTS="$OPTS $DEBUG_OPTS "
fi
if [ "$UNICODE" = "1" ]; then
if [ "$UNICODE" == "1" ]; then
OPTS="$OPTS $UNICODE_OPTS "
fi
if [ "$STATIC" = "1" ]; then
if [ "$STATIC" == "1" ]; then
OPTS="$OPTS --enable-static"
fi
OPTS="$OPTS $OTHER_OPTS"
echo "$WXROOT/configure --prefix=$BUILDPREFIX $OPTS"
$WXROOT/configure --prefix=$BUILDPREFIX $OPTS
make
if [ $? != 0 ]; then
echo "wxWidgets build failed."
exit $?
fi
# build the libs wxPython needs
if [ "$WXPYTHON" = "1" ]; then
if [ "$WXPYTHON" == "1" ]; then
make -C contrib/src/animate
make -C contrib/src/gizmos
make -C contrib/src/stc
fi
}
}

View File

@@ -1,54 +0,0 @@
import os, sys, shutil
outputdir = "."
ppc_basedir = "."
intel_basedir = "."
def lipo_walker(data, dirname, names):
global outputdir
global ppc_basedir
global intel_basedir
for name in names:
fullpath = os.path.join(dirname, name)
intel_fullpath = fullpath.replace(ppc_basedir, intel_basedir)
outputfile = fullpath.replace(ppc_basedir, outputdir)
outdir = os.path.dirname(outputfile)
if not os.path.exists(outdir):
os.makedirs(outdir)
# this call will only succeed if the file is a binary that can
# be lipoed.
if not os.path.islink(fullpath) and os.system("lipo -info %s" % fullpath) == 0:
if os.system("lipo -output %s -create %s %s" % (outputfile, fullpath, intel_fullpath)) == 0:
print "Successfully created %s" % outputfile
else:
if os.path.islink(fullpath):
linkto = os.readlink(fullpath)
if linkto.startswith(ppc_basedir):
linkto = linkto.replace(ppc_basedir, outputdir)
elif linkto.startswith(intel_basedir):
linkto = linkto.replace(intel_basedir, outputdir)
os.symlink(linkto, outputfile)
elif not os.path.isdir(fullpath):
shutil.copy(fullpath, outputfile)
if __name__ == "__main__":
if len(sys.argv) < 4:
print "Usage: %s <ppcdir> <inteldir> <outputdir>"
print ""
print "Takes a directory containing a Mac ppc application, and a directory"
print "containing a Mac intel application, and merges them into a universal"
print "binary."
sys.exit(1)
ppc_basedir = sys.argv[1]
intel_basedir = sys.argv[2]
outputdir = sys.argv[3]
os.path.walk(ppc_basedir, lipo_walker, None)

View File

@@ -18,7 +18,7 @@ for i in "$@"; do
carbon) PORT="mac" ;;
cocoa) PORT="cocoa" ;;
static) STATIC=1 ;;
*)
*)
usage
exit
;;

View File

@@ -2,8 +2,7 @@
# you need to change this if you run from outside this dir.
if [ "$WXROOT" = "" ]; then
scriptDir="$(cd $(dirname $0);pwd)"
WXROOT=$scriptDir/../../..
WXROOT=../../..
fi
. $WXROOT/distrib/scripts/includes/configure_build.inc
@@ -14,18 +13,16 @@ fi
# configure-based build scripts, which is why this looks a little empty.
if [ "$UNIVERSAL" = "1" ]; then
OTHER_OPTS="$OTHER_OPTS --enable-universal_binary --with-libjpeg=builtin --with-libpng=builtin"
OTHER_OPTS="--enable-universal_binary "
fi
mkdir -p builds
cd builds
do_build
make prefix=$INSTALLDIR install
if [ "$WXPYTHON" == "1" ]; then
make -C contrib/src/gizmos prefix=$INSTALLDIR install
make -C contrib/src/stc prefix=$INSTALLDIR install
fi
make -C contrib/src/gizmos prefix=$INSTALLDIR install
make -C contrib/src/stc prefix=$INSTALLDIR install
fi
cd $OLDDIR

View File

@@ -2,53 +2,65 @@
# you need to change this if you run from outside this dir.
if [ "$WXROOT" = "" ]; then
scriptDir="$(cd $(dirname $0);pwd)"
WXROOT=$scriptDir/../../..
WXROOT=../../..
fi
. $WXROOT/distrib/scripts/includes/configure_build.inc
. $WXROOT/distrib/scripts/mac/mac_options.inc
OTHER_OPTS="$OTHER_OPTS --disable-precomp-headers"
DIR="bld-ppc"
do_lipo_build(){
DIR="bld-$1"
export CXX="g++-3.3 -arch ppc"
export CC="gcc-3.3 -arch ppc"
mkdir -p $DIR
cd $DIR
do_build
cd ..
# Do another build, but with i386 this time
DIR="bld-i386"
export CXX="g++-4.0 -arch i386"
export CC="gcc-4.0 -arch i386"
mkdir -p $DIR
cd $DIR
do_build
cd ..
# Copy over everything, then remove files we need to replace with lipo'd versions
mkdir -p bld
cp -R bld-i386/* bld
cp -R bld-i386/.pch bld/.pch
rm bld/lib/*.dylib
# lipo the files, but make sure not to run it on symbolic links
for item in `cd bld-i386/lib; ls *.dylib`
do
if [ -f bld-i386/lib/$item -a ! -L bld-i386/lib/$item ]; then
lipo -create bld-i386/lib/$item bld-ppc/lib/$item -output bld/lib/$item
else
cp -R bld-i386/lib/$item bld/lib
fi
done
# make install hacks - the copy operations mess up the timestamps and thus
# cause make to erroneously think that the libraries need rebuilt
touch bld/.pch/wxprec_monodll/wx/*.gch
touch bld/.pch/wxprec_gldll/wx/*.gch
touch bld/*.o
touch bld/lib/*
if [ "$1" = "ppc" ]; then
export CXX="g++-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1030"
export CC="gcc-3.3 -arch ppc -DMAC_OS_X_VERSION_MAX_ALLOWED=1030"
export MACOSX_DEPLOYMENT_TARGET=10.3
else
export CXX="g++-4.0 -arch i386"
export CC="gcc-4.0 -arch i386"
export MACOSX_DEPLOYMENT_TARGET=10.4
fi
mkdir -p $DIR
cd $DIR
do_build
# one more hack - inplace wx-config has a hardcoded path in it - we need to
# change that path from bld-i386 to just bld in case someone wants to build things
# in tree. (wxPython does this, for example)
python -c "import os; fname = os.path.abspath('bld/wx-config'); data = open(fname).read(); data = data.replace('bld-i386', 'bld'); open(fname, 'w').write(data)"
mkdir -p $INSTALLDIR/$1
make prefix=$INSTALLDIR/$1 install
cd bld
make prefix=$INSTALLDIR install
if [ "$WXPYTHON" == "1" ]; then
make -C contrib/src/gizmos prefix=$INSTALLDIR/$1 install
make -C contrib/src/stc prefix=$INSTALLDIR/$1 install
fi
cd ..
}
do_lipo_build "ppc"
do_lipo_build "i386"
python $WXROOT/distrib/scripts/mac/lipo-dir.py $INSTALLDIR/ppc $INSTALLDIR/i386 $INSTALLDIR
rm -rf $INSTALLDIR/ppc $INSTALLDIR/i386
python -c "import os; fname = os.path.abspath('$INSTALLDIR/bin/wx-config'); data = open(fname).read(); data = data.replace('ppc/', ''); open(fname, 'w').write(data)"
if [ $? != 0 ]; then
exit $?
if [ "$WXPYTHON" == "1" ]; then
make -C contrib/src/animate prefix=$INSTALLDIR install
make -C contrib/src/gizmos prefix=$INSTALLDIR install
make -C contrib/src/stc prefix=$INSTALLDIR install
fi

View File

@@ -879,7 +879,6 @@ samples/minimal/*.rc
samples/minimal/*.pro
samples/minimal/*.bkl
samples/minimal/*.r
samples/minimal/Info.plist
samples/minifram/*.h
samples/minifram/*.cpp

View File

@@ -4,7 +4,6 @@ utils/tex2rtf/src/*.h
utils/tex2rtf/src/makefile.bcc
utils/tex2rtf/src/makefile.b32
utils/tex2rtf/src/makefile.wat
utils/tex2rtf/src/makefile.vc
utils/tex2rtf/src/makefile.unx
utils/tex2rtf/src/makefile.vms
utils/tex2rtf/src/makefile.g95

View File

@@ -1,8 +1,8 @@
#!/bin/sh
# you need to change this if you run from outside this dir.
if [ "$WXROOT" = "" ]; then
scriptDir="$(cd $(dirname $0);pwd)"
WXROOT=$scriptDir/../../..
WXROOT=../../..
fi
. $WXROOT/distrib/scripts/includes/configure_build.inc
@@ -20,33 +20,28 @@ for i in "$@"; do
ansi) UNICODE=0 ;;
debug) DEBUG=1 ;;
wxpython) WXPYTHON=1 ;;
gtk2) PORT="gtk2" ;;
gtk) PORT="gtk" ;;
x11) PORT="x11" ;;
motif) PORT="motif" ;;
static) STATIC=1 ;;
*)
usage
exit
;;
gtk2) PORT="gtk2" ;;
gtk) PORT="gtk" ;;
x11) PORT="x11" ;;
motif) PORT="motif" ;;
static) STATIC=1 ;;
*)
usage
exit
;;
esac
done
if [ "$PORT" != "" ]; then
OTHER_OPTS="--with-$PORT "
fi
OTHER_OPTS="--with-$PORT "
do_build
if [ $? != 0 ]; then
exit $?
fi
make prefix=$INSTALLDIR install
if [ "$WXPYTHON" = "1" ]; then
make -C contrib/src/gizmos prefix=$INSTALLDIR install
make -C contrib/src/stc prefix=$INSTALLDIR install
if [ "$WXPYTHON" == "1" ]; then
make -C contrib/src/animate prefix=$INSTALLDIR install
make -C contrib/src/gizmos prefix=$INSTALLDIR install
make -C contrib/src/stc prefix=$INSTALLDIR install
fi
cd $OLDDIR
cd $OLDDIR

View File

@@ -88,144 +88,6 @@ Major new features in 2.8 release
wxSearchCtrl, wxAboutBox, wxTreebook, tar streams.
2.8.5
-----
All (GUI):
- Added colour normalization to PNM image handler (Ray Johnston).
- Fixed selecting part of word from right to left in wxHTML (Michael Hieke).
- Selecting text in wxHTML with character precision was made easier, it's
enough to select half of a character (Michael Hieke).
- Significantly improved startup times of XRC-based applications using
embedded resources on Unix (requires resources recompilation).
- Fixed freeing of "static" alpha data in wxImage (Axel Gembe).
- Added tab mouse click events to wxAuiNotebook (Ben Williams).
- Option for middle-click tab close in wxAuiNotebook (Ben Williams).
- Added wxAuiNotebook::SetFont, GetTabCtrlHeight, GetHeightForPageHeight.
- Added SetBitmap/GetBitmap to wxWizard, to allow e.g. on-the-fly creation
of bitmap to fit page height.
- Fixed wxXPMHandler::SaveFile for images with more than 92 colors.
- Fixed a crash in wxGrid on creation due to OnSize being called too soon.
wxMSW:
- Fix crash when destroying a default button (Tim Kosse).
- Correct problem with page setup dialog when using landscape mode.
- Added msw.font.no-proof-quality system option, see manual for description.
- Fix appearance of notebook with non-top tabs under Windows Vista.
- Fixed bug with symbol resolving in wxStackWalker (Axel Gembe).
- Fixed showing busy cursor for disabled windows and during wxExecute()
wxGTK:
- Fixed missing key events in wxGTK1 build.
- Setting foreground colour of single line wxTextCtrl now works.
- More work on setting defaults in GNOME print dialogs.
- Also made landscape printing work as per wxMSW.
- Add support for (rectangular) clipping in GNOME print backend.
- Speed up wxBitmap::Rescale().
- Add right button event for wxToolbar's tools (Tim Kosse).
- Made wxWindow::SetScrollPos and wxScrollbar::SetThumbPos
not emit any event.
- Correct hyperactive mouse wheel support.
- Correct grid line mode in wxListCtrl.
- Don't unconditionally add wxCAPTION style to wxMiniFrame.
- Fixed crash in file and dir pickers for GTK+ < 2.6 if compiled
with GTK+ >= 2.6.
- Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change
wxMac:
- Fixed ability of non-native/installed toolbars to have controls,
in native toolbar compilation mode.
wxMotif:
- Fix crash when using wxStaticBox with empty label
2.8.4
-----
All:
- Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem).
- Fix wxStringOutputStream::Write() in Unicode build when the argument
overlaps UTF-8 characters boundary.
- Account for lines without newline at the end in wxExecute().
- Added wxString::char_str(), wchar_str(), From8BitData(), To8BitData(),
FromUTF8(), ToUTF8() and utf8_str() methods for forward compatiblity
with wxWidgets 3.
All (Unix):
- Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse).
All (GUI):
- Allow status bar children in XRC (Edmunt Pienkowski).
- Fix memory leak in wxWizard when not using sizers for the page layout.
- Added wxListCtrl::SetItemPtrData().
- wxHTML: Apply table background colour between the cells too (Michael Hieke).
wxMSW:
- Corrected wxStaticBox label appearance when its foreground colour was set:
it didn't respect font size nor background colour then (Juan Antonio Ortega).
- Don't lose combobox text when it's opened and closed (Kolya Kosenko).
- Corrected GetChecked() for events from checkable menu items (smanders).
- Fixed popup menus under Windows NT 4.
- Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3.
- Support right-aligned/centered owner drawn items in wxListCtrl (troelsk).
- Compilation fixed with WXWIN_COMPATIBILITY_2_6==0.
- Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko).
wxGTK:
- Fix infinite loop when adding a wxStaticText control to a toolbar.
- Fix wxNO_BORDER style for wxRadioBox (David Hart).
- wxComboBox::SetValue() doesn't emit EVT_TEXT anymore.
- Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr).
- Fix support for wxFD_FILE_MUST_EXIST in wxFileDialog.
- Fix support for setting orientation, paper size and collate
in GNOME print backend.
- Support wxTEXT_ALIGNMENT_JUSTIFIED in wxTextCtrl if GTK+ version is at
least 2.11 (Mart Raudsepp)..
wxMac:
- Fix wxComboBox::SetSelection(wxNOT_FOUND) (Adrian Secord).
wxUniv:
- Fix wxTextCtrl::SetSelection(-1, -1) to behave as documented (Anders Larsen).
- Fix wxComboBox::SetSelection(wxNOT_FOUND).
- Fix setting background colour for controls with transparent background.
2.8.3
-----
All:
- Shut down the sockets gracefully (Sergio Aguayo).
- Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal).
wxMac
- Corrected top border size for wxStaticBox with empty label (nusi).
- Fixed wxFont, wxPen and wxBrush accessor bugs introduced in 2.8.2.
wxMSW:
- Fixed wxFileName::GetSize() for large files.
- Fixed wxFont and wxPen accessor bugs introduced in 2.8.2.
wxGTK:
- Fixed handling of accelerators using PageUp/Down keys.
2.8.2
-----
@@ -244,9 +106,9 @@ All:
- Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
- Implemented background colour in wxRichTextCtrl.
- Fixed crashes in helpview when opening a file.
- Fixed detection of number of processors under Linux 2.6.
- Fixed Base64 computation in wxHTTP (p_michalczyk).
- Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk).
- Fixed detection of number of processors under Linux 2.6
- Fixed Base64 computation in wxHTTP (p_michalczyk)
- Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk)
Unix Ports:

View File

@@ -81,13 +81,6 @@ Deletes a page at the given index. Calling this method will generate a page cha
Returns the associated art provider.
\membersection{wxAuiNotebook::GetHeightForPageHeight}\label{wxauinotebookgetheightforpageheight}
\func{int}{GetHeightForPageHeight}{\param{int }{pageHeight}}
Returns the desired height of the notebook for the given page height. Use this to fit the notebook to
a given page size.
\membersection{wxAuiNotebook::GetPage}\label{wxauinotebookgetpage}
\constfunc{wxWindow*}{GetPage}{\param{size\_t }{page\_idx}}
@@ -125,12 +118,6 @@ Returns the tab label for the page.
Returns the currently selected page.
\membersection{wxAuiNotebook::GetTabCtrlHeight}\label{wxauinotebookgettabctrlheight}
\constfunc{int}{GetTabCtrlHeight}{\void}
Returns the height of the tab control.
\membersection{wxAuiNotebook::InsertPage}\label{wxauinotebookinsertpage}
\func{bool}{InsertPage}{\param{size\_t }{page\_idx}, \param{wxWindow* }{page}, \param{const wxString\& }{caption}, \param{bool }{select = false}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}}
@@ -150,30 +137,6 @@ Removes a page, without deleting the window pointer.
Sets the art provider to be used by the notebook.
\membersection{wxAuiNotebook::SetFont}\label{wxauinotebooksetfont}
\func{bool}{SetFont}{\param{const wxFont\& }{font}}
Sets the font for drawing the tab labels, using a bold version of the font for selected tab labels.
\membersection{wxAuiNotebook::SetNormalFont}\label{wxauinotebooksetnormalfont}
\func{void}{SetNormalFont}{\param{const wxFont\& }{font}}
Sets the font for drawing unselected tab labels.
\membersection{wxAuiNotebook::SetSelectedFont}\label{wxauinotebooksetselectedfont}
\func{void}{SetSelectedFont}{\param{const wxFont\& }{font}}
Sets the font for drawing selected tab labels.
\membersection{wxAuiNotebook::SetMeasuringFont}\label{wxauinotebooksetmeasuringfont}
\func{void}{SetMeasuringFont}{\param{const wxFont\& }{font}}
Sets the font for measuring tab labels.
\membersection{wxAuiNotebook::SetPageBitmap}\label{wxauinotebooksetpagebitmap}
\func{bool}{SetPageBitmap}{\param{size\_t }{page}, \param{const wxBitmap\& }{bitmap}}

View File

@@ -181,7 +181,7 @@ that has longer life time than the event object.
\membersection{wxCommandEvent::SetExtraLong}\label{wxcommandeventsetextralong}
\func{void}{SetExtraLong}{\param{long}{ extraLong}}
\func{void}{SetExtraLong}{\param{int}{ extraLong}}
Sets the {\bf m\_extraLong} member.

View File

@@ -378,11 +378,7 @@ this is not present, but required, the application name will be used instead.}
\docparam{style}{Can be one of wxCONFIG\_USE\_LOCAL\_FILE and
wxCONFIG\_USE\_GLOBAL\_FILE. The style interpretation depends on the config
class and is ignored by some implementations. For wxFileConfig, these styles
determine whether a local or global config file is created or used: if
wxCONFIG\_USE\_GLOBAL\_FILE is used, then settings are read from the global
config file and if wxCONFIG\_USE\_LOCAL\_FILE is used, settings are read from
and written to local config file (if they are both set, global file is read
first, then local file, overwriting global settings). If the
determine whether a local or global config file is created or used. If the
flag is present but the parameter is empty, the parameter will be set to a
default. If the parameter is present but the style flag not, the relevant flag
will be added to the style. For wxRegConfig, thie GLOBAL flag refers to HKLM

736
docs/latex/wx/dcsvg.tex Normal file
View File

@@ -0,0 +1,736 @@
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
%\input{psbox.tex}
\newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
\newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
\newcommand{\commandpageref}[2]{\latexignore{\helprefn{{\tt $\backslash$#1}}{#2}}\latexonly{{\tt $\backslash$#1} {\it page \pageref{#2}}}\index{#1}}%
\newcommand{\indexit}[1]{#1\index{#1}}%
\newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
\parskip=10pt%
\parindent=0pt%
%\backgroundcolour{255;255;255}\textcolour{0;0;0}% Has an effect in HTML only
\winhelpignore{\title{Manual for wxSVGFileDC}%
\author{Chris Elliott}%
\date{June 2002}%
}%
\winhelponly{\title{Manual for wxSVGFileDC}%
\author{by Chris Elliott}%
}%
\makeindex%
\begin{document}%
\maketitle%
\pagestyle{fancyplain}%
\bibliographystyle{plain}%
\pagenumbering{roman}%
\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\tableofcontents%
\chapter*{Copyright notice}%
\setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\chapter*{wxSVGFileDC}%
\setheader{{\it wxSVGFileDC}}{}{}{}{}{{\it wxSVGFileDC}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\section{\class{wxSVGFileDC}}\label{wxSVGFileDC}
A wxSVGFileDC is a {\it device context} onto which graphics and text can be drawn, and the output
produced as a vector file, in the SVG format (see http://www.w3.org/TR/2001/REC-SVG-20010904/ ).
This format can be read by a range of programs, including a Netscape plugin (Adobe), full details at
http://www.w3.org/Graphics/SVG/SVG-Implementations.htm8 Vector formats may often be smaller
than raster formats.
The intention behind wxSVGFileDC is that it can be used to produce a file corresponding
to the screen display context, wxSVGFileDC, by passing the wxSVGFileDC as a parameter instead of a wxSVGFileDC. Thus
the wxSVGFileDC is a write-only class.
As the wxSVGFileDC is a vector format, raster operations like GetPixel are unlikely to be supported.
However, the SVG specification allows for PNG format raster files to be embedded in the SVG, and so
bitmaps, icons and blit operations into the wxSVGFileDC are supported.
A more substantial SVG library (for reading and writing) is available at
http://www.xs4all.nl/~kholwerd/wxstuff/canvas/htmldocbook/aap.html
\wxheading{Derived from}
\helpref{wxDCBase}{wxDCBase}
\wxheading{Include files}
<wx/dcsvg.h>
\wxheading{See also}
%\helpref{Overview}{dcoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSVGFileDC::wxSVGFileDC}
\func{}{wxSVGFileDC}{\param{wxString}{ f}} \rtfsp
\func{}{wxSVGFileDC}{\param{wxString}{ f}, \param{int}{ Width},\param{int}{ Height}} \rtfsp
\func{}{wxSVGFileDC}{\param{wxString}{ f}, \param{int}{ Width},\param{int}{ Height},\param{float}{ dpi}} \rtfsp
Constructors:
a filename {\it f} with default size 340x240 at 72.0 dots per inch (a frequent screen resolution).
a filename {\it f} with size {\it Width} by {\it Height} at 72.0 dots per inch
a filename {\it f} with size {\it Width} by {\it Height} at {\it dpi} resolution.
\membersection{wxSVGFileDC::\destruct{wxSVGFileDC}}
\func{}{\destruct{wxSVGFileDC}}{\void}
Destructor.
\membersection{wxSVGFileDC::BeginDrawing}\label{wxdcbegindrawing}
Does nothing
\membersection{wxSVGFileDC::Blit}\label{wxdcblit}
\func{bool}{Blit}{\param{wxCoord}{ xdest}, \param{wxCoord}{ ydest}, \param{wxCoord}{ width}, \param{wxCoord}{ height},
\param{wxSVGFileDC* }{source}, \param{wxCoord}{ xsrc}, \param{wxCoord}{ ysrc}, \param{int}{ logicalFunc = wxCOPY},
\param{bool }{useMask = FALSE}, \param{wxCoord}{ xsrcMask = -1}, \param{wxCoord}{ ysrcMask = -1}}
As wxDC: Copy from a source DC to this DC, specifying the destination
coordinates, size of area to copy, source DC, source coordinates,
logical function, whether to use a bitmap mask, and mask source position.
\membersection{wxSVGFileDC::CalcBoundingBox}\label{wxdccalcboundingbox}
\func{void}{CalcBoundingBox}{\param{wxCoord }{x}, \param{wxCoord }{y}}
Adds the specified point to the bounding box which can be retrieved with
\helpref{MinX}{wxdcminx}, \helpref{MaxX}{wxdcmaxx} and
\helpref{MinY}{wxdcminy}, \helpref{MaxY}{wxdcmaxy} functions.
\membersection{wxSVGFileDC::Clear}\label{wxdcclear}
\func{void}{Clear}{\void}
This makes no sense in wxSVGFileDC and does nothing
\membersection{wxSVGFileDC::CrossHair}\label{wxdccrosshair}
\func{void}{CrossHair}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
Not Implemented
\membersection{wxSVGFileDC::DestroyClippingRegion}\label{wxdcdestroyclippingregion}
\func{void}{DestroyClippingRegion}{\void}
Not Implemented
\membersection{wxSVGFileDC::DeviceToLogicalX}\label{wxdcdevicetologicalx}
\func{wxCoord}{DeviceToLogicalX}{\param{wxCoord}{ x}}
Convert device X coordinate to logical coordinate, using the current
mapping mode.
\membersection{wxSVGFileDC::DeviceToLogicalXRel}\label{wxdcdevicetologicalxrel}
\func{wxCoord}{DeviceToLogicalXRel}{\param{wxCoord}{ x}}
Convert device X coordinate to relative logical coordinate, using the current
mapping mode but ignoring the x axis orientation.
Use this function for converting a width, for example.
\membersection{wxSVGFileDC::DeviceToLogicalY}\label{wxdcdevicetologicaly}
\func{wxCoord}{DeviceToLogicalY}{\param{wxCoord}{ y}}
Converts device Y coordinate to logical coordinate, using the current
mapping mode.
\membersection{wxSVGFileDC::DeviceToLogicalYRel}\label{wxdcdevicetologicalyrel}
\func{wxCoord}{DeviceToLogicalYRel}{\param{wxCoord}{ y}}
Convert device Y coordinate to relative logical coordinate, using the current
mapping mode but ignoring the y axis orientation.
Use this function for converting a height, for example.
\membersection{wxSVGFileDC::DrawArc}\label{wxdcdrawarc}
\func{void}{DrawArc}{\param{wxCoord}{ x1}, \param{wxCoord}{ y1}, \param{wxCoord}{ x2}, \param{wxCoord}{ y2}, \param{wxCoord}{ xc}, \param{wxCoord}{ yc}}
Draws an arc of a circle, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
and ending at ({\it x2, y2}). The current pen is used for the outline
and the current brush for filling the shape.
The arc is drawn in an anticlockwise direction from the start point to the end point.
\membersection{wxSVGFileDC::DrawBitmap}\label{wxdcdrawbitmap}
\func{void}{DrawBitmap}{\param{const wxBitmap\&}{ bitmap}, \param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{bool}{ transparent}}
Draw a bitmap on the device context at the specified point. If {\it transparent} is true and the bitmap has
a transparency mask, the bitmap will be drawn transparently.
When drawing a mono-bitmap, the current text foreground colour will be used to draw the foreground
of the bitmap (all bits set to 1), and the current text background colour to draw the background
(all bits set to 0). See also \helpref{SetTextForeground}{wxdcsettextforeground},
\helpref{SetTextBackground}{wxdcsettextbackground} and \helpref{wxMemoryDC}{wxmemorydc}.
\membersection{wxSVGFileDC::DrawCheckMark}\label{wxdcdrawcheckmark}
\func{void}{DrawCheckMark}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
\func{void}{DrawCheckMark}{\param{const wxRect \&}{rect}}
Draws a check mark inside the given rectangle.
\membersection{wxSVGFileDC::DrawCircle}\label{wxdcdrawcircle}
\func{void}{DrawCircle}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ radius}}
\func{void}{DrawCircle}{\param{const wxPoint\&}{ pt}, \param{wxCoord}{ radius}}
Draws a circle with the given centre and radius.
\wxheading{See also}
\helpref{DrawEllipse}{wxdcdrawellipse}
\membersection{wxSVGFileDC::DrawEllipse}\label{wxdcdrawellipse}
\func{void}{DrawEllipse}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
\func{void}{DrawEllipse}{\param{const wxPoint\&}{ pt}, \param{const wxSize\&}{ size}}
\func{void}{DrawEllipse}{\param{const wxRect\&}{ rect}}
Draws an ellipse contained in the rectangle specified either with the given top
left corner and the given size or directly. The current pen is used for the
outline and the current brush for filling the shape.
\wxheading{See also}
\helpref{DrawCircle}{wxdcdrawcircle}
\membersection{wxSVGFileDC::DrawEllipticArc}\label{wxdcdrawellipticarc}
\func{void}{DrawEllipticArc}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height},
\param{double}{ start}, \param{double}{ end}}
Draws an arc of an ellipse. The current pen is used for drawing the arc and
the current brush is used for drawing the pie.
{\it x} and {\it y} specify the x and y coordinates of the upper-left corner of the rectangle that contains
the ellipse.
{\it width} and {\it height} specify the width and height of the rectangle that contains
the ellipse.
{\it start} and {\it end} specify the start and end of the arc relative to the three-o'clock
position from the center of the rectangle. Angles are specified
in degrees (360 is a complete circle). Positive values mean
counter-clockwise motion. If {\it start} is equal to {\it end}, a
complete ellipse will be drawn.
\membersection{wxSVGFileDC::DrawIcon}\label{wxdcdrawicon}
\func{void}{DrawIcon}{\param{const wxIcon\&}{ icon}, \param{wxCoord}{ x}, \param{wxCoord}{ y}}
Draw an icon on the display (does nothing if the device context is PostScript).
This can be the simplest way of drawing bitmaps on a window.
\membersection{wxSVGFileDC::DrawLine}\label{wxdcdrawline}
\func{void}{DrawLine}{\param{wxCoord}{ x1}, \param{wxCoord}{ y1}, \param{wxCoord}{ x2}, \param{wxCoord}{ y2}}
Draws a line from the first point to the second. The current pen is used
for drawing the line.
\membersection{wxSVGFileDC::DrawLines}\label{wxdcdrawlines}
\func{void}{DrawLines}{\param{int}{ n}, \param{wxPoint}{ points[]}, \param{wxCoord}{ xoffset = 0}, \param{wxCoord}{ yoffset = 0}}
\func{void}{DrawLines}{\param{wxList *}{points}, \param{wxCoord}{ xoffset = 0}, \param{wxCoord}{ yoffset = 0}}
Draws lines using an array of {\it points} of size {\it n}, or list of
pointers to points, adding the optional offset coordinate. The current
pen is used for drawing the lines. The programmer is responsible for
deleting the list of points.
\membersection{wxSVGFileDC::DrawPolygon}\label{wxdcdrawpolygon}
\func{void}{DrawPolygon}{\param{int}{ n}, \param{wxPoint}{ points[]}, \param{wxCoord}{ xoffset = 0}, \param{wxCoord}{ yoffset = 0},\\
\param{int }{fill\_style = wxODDEVEN\_RULE}}
\func{void}{DrawPolygon}{\param{wxList *}{points}, \param{wxCoord}{ xoffset = 0}, \param{wxCoord}{ yoffset = 0},\\
\param{int }{fill\_style = wxODDEVEN\_RULE}}
Draws a filled polygon using an array of {\it points} of size {\it n},
or list of pointers to points, adding the optional offset coordinate.
The last argument specifies the fill rule: {\bf wxODDEVEN\_RULE} (the
default) or {\bf wxWINDING\_RULE}.
The current pen is used for drawing the outline, and the current brush
for filling the shape. Using a transparent brush suppresses filling.
The programmer is responsible for deleting the list of points.
Note that wxWindows automatically closes the first and last points.
\membersection{wxSVGFileDC::DrawPoint}\label{wxdcdrawpoint}
\func{void}{DrawPoint}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
Draws a point using the current pen.
\membersection{wxSVGFileDC::DrawRectangle}\label{wxdcdrawrectangle}
\func{void}{DrawRectangle}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
Draws a rectangle with the given top left corner, and with the given
size. The current pen is used for the outline and the current brush
for filling the shape.
\membersection{wxSVGFileDC::DrawRotatedText}\label{wxdcdrawrotatedtext}
\func{void}{DrawRotatedText}{\param{const wxString\& }{text}, \param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{double}{ angle}}
Draws the text rotated by {\it angle} degrees.
The wxMSW wxDC and wxSVGFileDC rotate the text around slightly different points, depending on the size of the font
\membersection{wxSVGFileDC::DrawRoundedRectangle}\label{wxdcdrawroundedrectangle}
\func{void}{DrawRoundedRectangle}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}, \param{double}{ radius = 20}}
Draws a rectangle with the given top left corner, and with the given
size. The corners are quarter-circles using the given radius. The
current pen is used for the outline and the current brush for filling
the shape.
If {\it radius} is positive, the value is assumed to be the
radius of the rounded corner. If {\it radius} is negative,
the absolute value is assumed to be the {\it proportion} of the smallest
dimension of the rectangle. This means that the corner can be
a sensible size relative to the size of the rectangle, and also avoids
the strange effects X produces when the corners are too big for
the rectangle.
\membersection{wxSVGFileDC::DrawSpline}\label{wxdcdrawspline}
\func{void}{DrawSpline}{\param{wxList *}{points}}
Draws a spline between all given control points, using the current
pen. Doesn't delete the wxList and contents. The spline is drawn
using a series of lines, using an algorithm taken from the X drawing
program `XFIG'.
\func{void}{DrawSpline}{\param{wxCoord}{ x1}, \param{wxCoord}{ y1}, \param{wxCoord}{ x2}, \param{wxCoord}{ y2}, \param{wxCoord}{ x3}, \param{wxCoord}{ y3}}
Draws a three-point spline using the current pen.
\membersection{wxSVGFileDC::DrawText}\label{wxdcdrawtext}
\func{void}{DrawText}{\param{const wxString\& }{text}, \param{wxCoord}{ x}, \param{wxCoord}{ y}}
Draws a text string at the specified point, using the current text font,
and the current text foreground and background colours.
The coordinates refer to the top-left corner of the rectangle bounding
the string. See \helpref{wxSVGFileDC::GetTextExtent}{wxdcgettextextent} for how
to get the dimensions of a text string, which can be used to position the
text more precisely.
\membersection{wxSVGFileDC::EndDoc}\label{wxdcenddoc}
\func{void}{EndDoc}{\void}
Does nothing
\membersection{wxSVGFileDC::EndDrawing}\label{wxdcenddrawing}
\func{void}{EndDrawing}{\void}
Does nothing
\membersection{wxSVGFileDC::EndPage}\label{wxdcendpage}
\func{void}{EndPage}{\void}
Does nothing
\membersection{wxSVGFileDC::FloodFill}\label{wxdcfloodfill}
\func{void}{FloodFill}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{const wxColour\&}{ colour}, \param{int}{ style=wxFLOOD\_SURFACE}}
Not implemented
\membersection{wxSVGFileDC::GetBackground}\label{wxdcgetbackground}
\func{wxBrush\&}{GetBackground}{\void}
\constfunc{const wxBrush\&}{GetBackground}{\void}
Gets the brush used for painting the background (see \helpref{wxSVGFileDC::SetBackground}{wxdcsetbackground}).
\membersection{wxSVGFileDC::GetBackgroundMode}\label{wxdcgetbackgroundmode}
\constfunc{int}{GetBackgroundMode}{\void}
Returns the current background mode: {\tt wxSOLID} or {\tt wxTRANSPARENT}.
\wxheading{See also}
\helpref{SetBackgroundMode}{wxdcsetbackgroundmode}
\membersection{wxSVGFileDC::GetBrush}\label{wxdcgetbrush}
\func{wxBrush\&}{GetBrush}{\void}
\constfunc{const wxBrush\&}{GetBrush}{\void}
Gets the current brush (see \helpref{wxSVGFileDC::SetBrush}{wxdcsetbrush}).
\membersection{wxSVGFileDC::GetCharHeight}\label{wxdcgetcharheight}
\func{wxCoord}{GetCharHeight}{\void}
Gets the character height of the currently set font.
\membersection{wxSVGFileDC::GetCharWidth}\label{wxdcgetcharwidth}
\func{wxCoord}{GetCharWidth}{\void}
Gets the average character width of the currently set font.
\membersection{wxSVGFileDC::GetClippingBox}\label{wxdcgetclippingbox}
\func{void}{GetClippingBox}{\param{wxCoord}{ *x}, \param{wxCoord}{ *y}, \param{wxCoord}{ *width}, \param{wxCoord}{ *height}}
Not implemented
\membersection{wxSVGFileDC::GetFont}\label{wxdcgetfont}
\func{wxFont\&}{GetFont}{\void}
\constfunc{const wxFont\&}{GetFont}{\void}
Gets the current font (see \helpref{wxSVGFileDC::SetFont}{wxdcsetfont}).
\membersection{wxSVGFileDC::GetLogicalFunction}\label{wxdcgetlogicalfunction}
\func{int}{GetLogicalFunction}{\void}
Gets the current logical function (see \helpref{wxSVGFileDC::SetLogicalFunction}{wxdcsetlogicalfunction}).
\membersection{wxSVGFileDC::GetMapMode}\label{wxdcgetmapmode}
\func{int}{GetMapMode}{\void}
Gets the {\it mapping mode} for the device context (see \helpref{wxSVGFileDC::SetMapMode}{wxdcsetmapmode}).
\membersection{wxSVGFileDC::GetPen}\label{wxdcgetpen}
\func{wxPen\&}{GetPen}{\void}
\constfunc{const wxPen\&}{GetPen}{\void}
Gets the current pen (see \helpref{wxSVGFileDC::SetPen}{wxdcsetpen}).
\membersection{wxSVGFileDC::GetPixel}\label{wxdcgetpixel}
\func{bool}{GetPixel}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxColour *}{colour}}
Not implemented
\membersection{wxSVGFileDC::GetSize}\label{wxdcgetsize}
\func{void}{GetSize}{\param{wxCoord *}{width}, \param{wxCoord *}{height}}
For a Windows printer device context, this gets the horizontal and vertical
resolution.
\membersection{wxSVGFileDC::GetTextBackground}\label{wxdcgettextbackground}
\func{wxColour\&}{GetTextBackground}{\void}
\constfunc{const wxColour\&}{GetTextBackground}{\void}
Gets the current text background colour (see \helpref{wxSVGFileDC::SetTextBackground}{wxdcsettextbackground}).
\membersection{wxSVGFileDC::GetTextExtent}\label{wxdcgettextextent}
\func{void}{GetTextExtent}{\param{const wxString\& }{string}, \param{wxCoord *}{w}, \param{wxCoord *}{h},\\
\param{wxCoord *}{descent = NULL}, \param{wxCoord *}{externalLeading = NULL}, \param{wxFont *}{font = NULL}}
Gets the dimensions of the string using the currently selected font.
\rtfsp{\it string} is the text string to measure, {\it w} and {\it h} are
the total width and height respectively, {\it descent} is the
dimension from the baseline of the font to the bottom of the
descender, and {\it externalLeading} is any extra vertical space added
to the font by the font designer (usually is zero).
The optional parameter {\it font} specifies an alternative
to the currently selected font: but note that this does not
yet work under Windows, so you need to set a font for
the device context first.
See also \helpref{wxFont}{wxfont}, \helpref{wxSVGFileDC::SetFont}{wxdcsetfont}.
\membersection{wxSVGFileDC::GetTextForeground}\label{wxdcgettextforeground}
\func{wxColour\&}{GetTextForeground}{\void}
\constfunc{const wxColour\&}{GetTextForeground}{\void}
Gets the current text foreground colour (see \helpref{wxSVGFileDC::SetTextForeground}{wxdcsettextforeground}).
\membersection{wxSVGFileDC::GetUserScale}\label{wxdcgetuserscale}
\func{void}{GetUserScale}{\param{double}{ *x}, \param{double}{ *y}}
Gets the current user scale factor (set by \helpref{SetUserScale}{wxdcsetuserscale}).
\membersection{wxSVGFileDC::LogicalToDeviceX}\label{wxdclogicaltodevicex}
\func{wxCoord}{LogicalToDeviceX}{\param{wxCoord}{ x}}
Converts logical X coordinate to device coordinate, using the current
mapping mode.
\membersection{wxSVGFileDC::LogicalToDeviceXRel}\label{wxdclogicaltodevicexrel}
\func{wxCoord}{LogicalToDeviceXRel}{\param{wxCoord}{ x}}
Converts logical X coordinate to relative device coordinate, using the current
mapping mode but ignoring the x axis orientation.
Use this for converting a width, for example.
\membersection{wxSVGFileDC::LogicalToDeviceY}\label{wxdclogicaltodevicey}
\func{wxCoord}{LogicalToDeviceY}{\param{wxCoord}{ y}}
Converts logical Y coordinate to device coordinate, using the current
mapping mode.
\membersection{wxSVGFileDC::LogicalToDeviceYRel}\label{wxdclogicaltodeviceyrel}
\func{wxCoord}{LogicalToDeviceYRel}{\param{wxCoord}{ y}}
Converts logical Y coordinate to relative device coordinate, using the current
mapping mode but ignoring the y axis orientation.
Use this for converting a height, for example.
\membersection{wxSVGFileDC::MaxX}\label{wxdcmaxx}
\func{wxCoord}{MaxX}{\void}
Gets the maximum horizontal extent used in drawing commands so far.
\membersection{wxSVGFileDC::MaxY}\label{wxdcmaxy}
\func{wxCoord}{MaxY}{\void}
Gets the maximum vertical extent used in drawing commands so far.
\membersection{wxSVGFileDC::MinX}\label{wxdcminx}
\func{wxCoord}{MinX}{\void}
Gets the minimum horizontal extent used in drawing commands so far.
\membersection{wxSVGFileDC::MinY}\label{wxdcminy}
\func{wxCoord}{MinY}{\void}
Gets the minimum vertical extent used in drawing commands so far.
\membersection{wxSVGFileDC::Ok}\label{wxdcok}
\func{bool}{Ok}{\void}
Returns true if the DC is ok to use; False values arise from being unable to
write the file
\membersection{wxSVGFileDC::ResetBoundingBox}\label{wxdcresetboundingbox}
\func{void}{ResetBoundingBox}{\void}
Resets the bounding box: after a call to this function, the bounding box
doesn't contain anything.
\wxheading{See also}
\helpref{CalcBoundingBox}{wxdccalcboundingbox}
\membersection{wxSVGFileDC::SetAxisOrientation}\label{wxdcsetaxisorientation}
\func{void}{SetAxisOrientation}{\param{bool}{ xLeftRight},
\param{bool}{ yBottomUp}}
Sets the x and y axis orientation (i.e., the direction from lowest to
highest values on the axis). The default orientation is the natural
orientation, e.g. x axis from left to right and y axis from bottom up.
\wxheading{Parameters}
\docparam{xLeftRight}{True to set the x axis orientation to the natural
left to right orientation, false to invert it.}
\docparam{yBottomUp}{True to set the y axis orientation to the natural
bottom up orientation, false to invert it.}
\membersection{wxSVGFileDC::SetDeviceOrigin}\label{wxdcsetdeviceorigin}
\func{void}{SetDeviceOrigin}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
Sets the device origin (i.e., the origin in pixels after scaling has been
applied).
This function may be useful in Windows printing
operations for placing a graphic on a page.
\membersection{wxSVGFileDC::SetBackground}\label{wxdcsetbackground}
\func{void}{SetBackground}{\param{const wxBrush\& }{brush}}
Sets the current background brush for the DC.
\membersection{wxSVGFileDC::SetBackgroundMode}\label{wxdcsetbackgroundmode}
\func{void}{SetBackgroundMode}{\param{int}{ mode}}
{\it mode} may be one of wxSOLID and wxTRANSPARENT. This setting determines
whether text will be drawn with a background colour or not.
\membersection{wxSVGFileDC::SetClippingRegion}\label{wxdcsetclippingregion}
\func{void}{SetClippingRegion}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxCoord}{ width}, \param{wxCoord}{ height}}
\func{void}{SetClippingRegion}{\param{const wxPoint\& }{pt}, \param{const wxSize\& }{sz}}
\func{void}{SetClippingRegion}{\param{const wxRect\&}{ rect}}
\func{void}{SetClippingRegion}{\param{const wxRegion\&}{ region}}
Not implemented
\membersection{wxSVGFileDC::SetPalette}\label{wxdcsetpalette}
\func{void}{SetPalette}{\param{const wxPalette\& }{palette}}
Not implemented
\membersection{wxSVGFileDC::SetBrush}\label{wxdcsetbrush}
\func{void}{SetBrush}{\param{const wxBrush\& }{brush}}
Sets the current brush for the DC.
If the argument is wxNullBrush, the current brush is selected out of the device
context, and the original brush restored, allowing the current brush to
be destroyed safely.
See also \helpref{wxBrush}{wxbrush}.
See also \helpref{wxMemoryDC}{wxmemorydc} for the interpretation of colours
when drawing into a monochrome bitmap.
\membersection{wxSVGFileDC::SetFont}\label{wxdcsetfont}
\func{void}{SetFont}{\param{const wxFont\& }{font}}
Sets the current font for the DC. It must be a valid font, in particular you
should not pass {\tt wxNullFont} to this method.
See also \helpref{wxFont}{wxfont}.
\membersection{wxSVGFileDC::SetLogicalFunction}\label{wxdcsetlogicalfunction}
\func{void}{SetLogicalFunction}{\param{int}{ function}}
Only wxCOPY is avalaible; trying to set one of the othe values will fail
\membersection{wxSVGFileDC::SetMapMode}\label{wxdcsetmapmode}
\func{void}{SetMapMode}{\param{int}{ int}}
The {\it mapping mode} of the device context defines the unit of
measurement used to convert logical units to device units. Note that
in X, text drawing isn't handled consistently with the mapping mode; a
font is always specified in point size. However, setting the {\it
user scale} (see \helpref{wxSVGFileDC::SetUserScale}{wxdcsetuserscale}) scales the text appropriately. In
Windows, scaleable TrueType fonts are always used; in X, results depend
on availability of fonts, but usually a reasonable match is found.
Note that the coordinate origin should ideally be selectable, but for
now is always at the top left of the screen/printer.
Drawing to a Windows printer device context under UNIX
uses the current mapping mode, but mapping mode is currently ignored for
PostScript output.
The mapping mode can be one of the following:
\begin{twocollist}\itemsep=0pt
\twocolitem{wxMM\_TWIPS}{Each logical unit is 1/20 of a point, or 1/1440 of
an inch.}
\twocolitem{wxMM\_POINTS}{Each logical unit is a point, or 1/72 of an inch.}
\twocolitem{wxMM\_METRIC}{Each logical unit is 1 mm.}
\twocolitem{wxMM\_LOMETRIC}{Each logical unit is 1/10 of a mm.}
\twocolitem{wxMM\_TEXT}{Each logical unit is 1 pixel.}
\end{twocollist}
\membersection{wxSVGFileDC::SetPen}\label{wxdcsetpen}
\func{void}{SetPen}{\param{const wxPen\& }{pen}}
Sets the current pen for the DC.
If the argument is wxNullPen, the current pen is selected out of the device
context, and the original pen restored.
See also \helpref{wxMemoryDC}{wxmemorydc} for the interpretation of colours
when drawing into a monochrome bitmap.
\membersection{wxSVGFileDC::SetTextBackground}\label{wxdcsettextbackground}
\func{void}{SetTextBackground}{\param{const wxColour\& }{colour}}
Sets the current text background colour for the DC.
\membersection{wxSVGFileDC::SetTextForeground}\label{wxdcsettextforeground}
\func{void}{SetTextForeground}{\param{const wxColour\& }{colour}}
Sets the current text foreground colour for the DC.
See also \helpref{wxMemoryDC}{wxmemorydc} for the interpretation of colours
when drawing into a monochrome bitmap.
\membersection{wxSVGFileDC::SetUserScale}\label{wxdcsetuserscale}
\func{void}{SetUserScale}{\param{double}{ xScale}, \param{double}{ yScale}}
Sets the user scaling factor, useful for applications which require
`zooming'.
\membersection{wxSVGFileDC::StartDoc}\label{wxdcstartdoc}
\func{bool}{StartDoc}{\param{const wxString\& }{message}}
Does nothing
\membersection{wxSVGFileDC::StartPage}\label{wxdcstartpage}
\func{bool}{StartPage}{\void}
Does nothing

View File

@@ -78,6 +78,10 @@ Constructor.
\func{static void}{AddFile}{\param{const wxString\& }{filename}, \param{const wxBitmap\& }{bitmap}, \param{long }{type}}
\func{static void}{AddFile}{\param{const wxString\& }{filename}, \param{const wxString\& }{textdata}}
\func{static void}{AddFile}{\param{const wxString\& }{filename}, \param{const void* }{binarydata}, \param{size\_t }{size}}
Add file to list of files stored in memory. Stored
data (bitmap, text or raw data)
will be copied into private memory stream and available under
@@ -88,26 +92,6 @@ Note that you must use a \arg{type} value (aka image format)
that wxWidgets can save (e.g. JPG, PNG, see \helpref{wxImage
documentation}{wximage})!
\wxheading{See also}
\helpref{AddFileWithMimeType}{wxmemoryfshandleraddfilewithmimetype}
\membersection{wxMemoryFSHandler::AddFileWithMimeType}\label{wxmemoryfshandleraddfilewithmimetype}
\func{static void}{AddFileWithMimeType}{\param{const wxString\& }{filename}, \param{const wxString\& }{textdata}, \param{const wxString\& }{mimetype}}
\func{static void}{AddFileWithMimeType}{\param{const wxString\& }{filename}, \param{const void* }{binarydata}, \param{size\_t }{size}, \param{const wxString\& }{mimetype}}
Like \helpref{AddFile}{wxmemoryfshandleraddfile}, but lets you explicitly
specify added file's MIME type. This version should be used whenever you know
the MIME type, because it makes accessing the files faster.
\newsince{2.8.5}
\wxheading{See also}
\helpref{AddFile}{wxmemoryfshandleraddfile}
\membersection{wxMemoryFSHandler::RemoveFile}\label{wxmemoryfshandlerremovefile}

View File

@@ -352,7 +352,7 @@ Same as \helpref{wxCHECK\_VERSION}{wxcheckversion} but also checks that
\membersection{wxCHECK\_W32API\_VERSION}\label{wxcheckw32apiversion}
\func{bool}{wxCHECK\_W32API\_VERSION}{\param{}{major, minor, release}}
\func{bool}{wxCHECK\_GCC\_VERSION}{\param{}{major, minor, release}}
Returns $1$ if the version of w32api headers used is major.minor.release or
greater. Otherwise, and also if we are not compiling with mingw32/cygwin under

View File

@@ -183,6 +183,14 @@ The memory requirements for this could become prohibitive if your grid is very l
\membersection{wxGrid::AutoSizeColOrRow}\label{wxgridautosizecolorrow}
\func{void}{AutoSizeColOrRow}{\param{int }{n}, \param{bool }{setAsMin}, \param{bool }{column}}
Common part of AutoSizeColumn/Row() or row?
\membersection{wxGrid::AutoSizeColumn}\label{wxgridautosizecolumn}
\func{void}{AutoSizeColumn}{\param{int }{col}, \param{bool }{setAsMin = true}}

View File

@@ -38,26 +38,6 @@ Constructor.
\docparam{parentWindow}{pointer to the window that will own the preview frame and setup dialogs. May be NULL.}
\membersection{wxHtmlEasyPrinting::GetParentWindow}\label{wxhtmleasyprintinggetparentwindow}
\constfunc{wxWindow*}{GetParentWindow}{\void}
Gets the parent window for dialogs.
\membersection{wxHtmlEasyPrinting::GetPrintData}\label{wxhtmleasyprintinggetprintdata}
\func{wxPrintData*}{GetPrintData}{\void}
Returns pointer to \helpref{wxPrintData}{wxprintdata} instance used by this class. You can
set its parameters (via SetXXXX methods).
\membersection{wxHtmlEasyPrinting::GetPageSetupData}\label{wxhtmleasyprintinggetpagesetupdata}
\func{wxPageSetupDialogData*}{GetPageSetupData}{\void}
Returns a pointer to \helpref{wxPageSetupDialogData}{wxpagesetupdialogdata} instance used by
this class. You can set its parameters (via SetXXXX methods).
\membersection{wxHtmlEasyPrinting::PreviewFile}\label{wxhtmleasyprintingpreviewfile}
\func{bool}{PreviewFile}{\param{const wxString\& }{htmlfile}}
@@ -152,9 +132,17 @@ Set page footer. The following macros can be used inside it:
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
\membersection{wxHtmlEasyPrinting::SetParentWindow}\label{wxhtmleasyprintingsetparentwindow}
\membersection{wxHtmlEasyPrinting::GetPrintData}\label{wxhtmleasyprintinggetprintdata}
\func{void}{SetParentWindow}{\param{wxWindow*}{ window}}
\func{wxPrintData*}{GetPrintData}{\void}
Sets the parent window for dialogs.
Returns pointer to \helpref{wxPrintData}{wxprintdata} instance used by this class. You can
set its parameters (via SetXXXX methods).
\membersection{wxHtmlEasyPrinting::GetPageSetupData}\label{wxhtmleasyprintinggetpagesetupdata}
\func{wxPageSetupDialogData*}{GetPageSetupData}{\void}
Returns a pointer to \helpref{wxPageSetupDialogData}{wxpagesetupdialogdata} instance used by
this class. You can set its parameters (via SetXXXX methods).

View File

@@ -186,7 +186,7 @@ the embedded window to be destroyed independently of the help controller.
\func{}{wxHtmlHelpWindow}{\param{wxHtmlHelpData* }{data = NULL}}
\func{}{wxHtmlHelpWindow}{\param{wxWindow* }{parent}, \param{int }{wxWindowID}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ pos = wxDefaultSize}, \param{int }{style = wxTAB\_TRAVERSAL|wxTAB\_wxNO\_BORDER}, \param{int }{helpStyle = wxHF\_DEFAULT\_STYLE}, \param{wxHtmlHelpData* }{data = NULL}}
\func{}{wxHtmlHelpWindow}{\param{wxWindow* }{parent}, \param{int }{wxWindowID}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ pos = wxDefaultSize}, \param{int }{style = wxTAB\_TRAVERSAL|wxTAB\_wxNO_BORDER}, \param{int }{helpStyle = wxHF\_DEFAULT\_STYLE}, \param{wxHtmlHelpData* }{data = NULL}}
Constructor.
@@ -194,7 +194,7 @@ Constructor. For the values of {\it helpStyle}, please see the documentation for
\membersection{wxHtmlHelpWindow::Create}\label{wxhtmlhelpwindowcreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ pos = wxDefaultSize}, \param{int }{style = wxTAB\_TRAVERSAL|wxTAB\_wxNO\_BORDER}, \param{int }{helpStyle = wxHF\_DEFAULT\_STYLE}, \param{wxHtmlHelpData* }{data = NULL}}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ pos = wxDefaultSize}, \param{int }{style = wxTAB\_TRAVERSAL|wxTAB\_wxNO_BORDER}, \param{int }{helpStyle = wxHF\_DEFAULT\_STYLE}, \param{wxHtmlHelpData* }{data = NULL}}
Creates the help window. See \helpref{the constructor}{wxhtmlhelpwindowwxhtmlhelpwindow}
for a description of the parameters.

View File

@@ -943,9 +943,6 @@ from $0$ to {\it count}.
Associates application-defined data with this item.
Notice that this function cannot be used to associate pointers with the control
items, use \helpref{SetItemPtrData}{wxlistctrlsetitemptrdata} instead.
\membersection{wxListCtrl::SetItemFont}\label{wxlistctrlsetitemfont}
@@ -984,18 +981,6 @@ The image is an index into the image list associated with the list control.
Sets the position of the item, in icon or small icon view. Windows only.
\membersection{wxListCtrl::SetItemPtrData}\label{wxlistctrlsetitemptrdata}
\func{bool}{SetItemPtrData}{\param{long }{item}, \param{wxUIntPtr }{data}}
Associates application-defined data with this item. The \arg{data} parameter may
be either an integer or a pointer cast to the \texttt{wxUIntPtr} type which is
guaranteed to be large enough to be able to contain all integer types and
pointers.
\newsince{2.8.4}
\membersection{wxListCtrl::SetItemState}\label{wxlistctrlsetitemstate}
\func{bool}{SetItemState}{\param{long }{item}, \param{long }{state}, \param{long }{stateMask}}

View File

@@ -434,13 +434,6 @@ target but the log messages are also passed to the previous log target if any.
Destroys the previous log target.
\membersection{wxLogChain::DetachOldLog}\label{wxlogchaindetacholdlog}
\func{void}{DetachOldLog}{\void}
Detaches the old log target so it won't be destroyed when the wxLogChain object
is destroyed.
\membersection{wxLogChain::GetOldLog}\label{wxlogchaingetoldlog}
\constfunc{wxLog *}{GetOldLog}{\void}

View File

@@ -26,7 +26,7 @@
%\special{!/@scaleunit 1 def}
\parskip=10pt
\parindent=0pt
\title{wxWidgets 2.8.4: A portable C++ and Python GUI toolkit}
\title{wxWidgets 2.8.2: A portable C++ and Python GUI toolkit}
\winhelponly{\author{by Julian Smart et al
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
}}

View File

@@ -51,7 +51,6 @@ No base class.
\latexignore{\rtfignore{\wxheading{Function groups}}}
\membersection{Helper functions}\label{mimehelperfunctions}
All of these functions are static (i.e. don't need a wxMimeTypesManager object
@@ -61,7 +60,6 @@ types using wxString functions.
\helpref{IsOfType}{wxmimetypesmanagerisoftype}
\membersection{Constructor and destructor}\label{mimeconstructordestructor}
NB: You won't normally need to use more than one wxMimeTypesManager object in a
@@ -70,18 +68,16 @@ program.
\helpref{wxMimeTypesManager}{wxmimetypesmanagerctor}\\
\helpref{\destruct{wxMimeTypesManager}}{wxmimetypesmanagerdtor}
\membersection{Query database}\label{mimequerydatabase}
These functions are the heart of this class: they allow to find a \helpref{file type}{wxfiletype} object
from either file extension or MIME type.
If the function is successful, it returns a pointer to the wxFileType object
which {\bf must} be deleted by the caller, otherwise \NULL will be returned.
which {\bf must} be deleted by the caller, otherwise NULL will be returned.
\helpref{GetFileTypeFromMimeType}{wxmimetypesmanagergetfiletypefrommimetype}\\
\helpref{GetFileTypeFromExtension}{wxmimetypesmanagergetfiletypefromextension}
\membersection{Initialization functions}\label{wxmimetypesmanagerinit}
{\bf Unix:} These functions may be used to load additional files (except for the
@@ -99,7 +95,6 @@ information in either mailcap(5) or mime.types(5) format.
}}
\membersection{wxMimeTypesManager::wxMimeTypesManager}\label{wxmimetypesmanagerctor}
\func{}{wxMimeTypesManager}{\void}
@@ -108,14 +103,12 @@ Constructor puts the object in the "working" state, no additional initialization
are needed - but \helpref{ReadXXX}{wxmimetypesmanagerinit} may be used to load
additional mailcap/mime.types files.
\membersection{wxMimeTypesManager::\destruct{wxMimeTypesManager}}\label{wxmimetypesmanagerdtor}
\func{}{\destruct{wxMimeTypesManager}}{\void}
Destructor is not virtual, so this class should not be derived from.
\membersection{wxMimeTypesManager::AddFallbacks}\label{wxmimetypesmanageraddfallbacks}
\func{void}{AddFallbacks}{\param{const wxFileTypeInfo *}{fallbacks}}
@@ -127,28 +120,22 @@ and extensions that might not be present in the system MIME database.
Please see the typetest sample for an example of using it.
\membersection{wxMimeTypesManager::GetFileTypeFromExtension}\label{wxmimetypesmanagergetfiletypefromextension}
\func{wxFileType*}{GetFileTypeFromExtension}{\param{const wxString\&}{ extension}}
Gather information about the files with given extension and return the
corresponding \helpref{wxFileType}{wxfiletype} object or \NULL if the extension
corresponding \helpref{wxFileType}{wxfiletype} object or NULL if the extension
is unknown.
The \arg{extension} parameter may have, or not, the leading dot, if it has it,
it is stripped automatically. It must not however be empty.
\membersection{wxMimeTypesManager::GetFileTypeFromMimeType}\label{wxmimetypesmanagergetfiletypefrommimetype}
\func{wxFileType*}{GetFileTypeFromMimeType}{\param{const wxString\&}{ mimeType}}
Gather information about the files with given MIME type and return the
corresponding \helpref{wxFileType}{wxfiletype} object or \NULL if the MIME type
corresponding \helpref{wxFileType}{wxfiletype} object or NULL if the MIME type
is unknown.
\membersection{wxMimeTypesManager::IsOfType}\label{wxmimetypesmanagerisoftype}
\func{bool}{IsOfType}{\param{const wxString\&}{ mimeType}, \param{const wxString\&}{ wildcard}}
@@ -161,7 +148,6 @@ same as {\it wildcard} or if it has the same category and the subtype of
The comparison don by this function is case insensitive so it is not
necessary to convert the strings to the same case before calling it.
\membersection{wxMimeTypesManager::ReadMailcap}\label{wxmimetypesmanagerreadmailcap}
\func{bool}{ReadMailcap}{\param{const wxString\&}{ filename}, \param{bool}{ fallback = false}}
@@ -179,7 +165,6 @@ will not happen if this parameter is set to true (default is false).
The return value is true if there were no errors in the file or false
otherwise.
\membersection{wxMimeTypesManager::ReadMimeTypes}\label{wxmimetypesmanagerreadmimetypes}
\func{bool}{ReadMimeTypes}{\param{const wxString\&}{ filename}}

View File

@@ -144,7 +144,7 @@ Gets the name of the registry key.
\membersection{wxRegKey::GetFirstKey}\label{wxregkeygetfirstkey}
\func{bool}{GetFirstKey}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
\func{bool}{GetKeyValue}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
Gets the first key.

View File

@@ -1356,7 +1356,7 @@ See also \helpref{wxRichTextCtrl::NumberList}{wxrichtextctrlnumberlist}, \helpre
Sets the selection to the given range.
The end point of range is specified as the last character position of the span of text, plus one.
So, for example, to set the selection for a character at position 5, use the range (5,6).
So, for example, to set the style for a character at position 5, use the range (5,6).
\membersection{wxRichTextCtrl::SetSelectionRange}\label{wxrichtextctrlsetselectionrange}
@@ -1365,7 +1365,7 @@ So, for example, to set the selection for a character at position 5, use the ran
Sets the selection to the given range.
The end point of range is specified as the last character position of the span of text, plus one.
So, for example, to set the selection for a character at position 5, use the range (5,6).
So, for example, to set the style for a character at position 5, use the range (5,6).
\membersection{wxRichTextCtrl::SetStyle}\label{wxrichtextctrlsetstyle}

View File

@@ -34,7 +34,7 @@ To specify the operations available to the user, pass a combination of these val
\twocolitem{\windowstyle{wxRICHTEXT\_ORGANISER\_APPLY\_STYLES}}{Provides a button for applying the currently selected style to the selection.}
\twocolitem{\windowstyle{wxRICHTEXT\_ORGANISER\_EDIT\_STYLES}}{Provides a button for editing styles.}
\twocolitem{\windowstyle{wxRICHTEXT\_ORGANISER\_RENAME\_STYLES}}{Provides a button for renaming styles.}
\twocolitem{\windowstyle{wxRICHTEXT\_ORGANISER\_OK\_CANCEL}}{Provides OK and Cancel buttons.}
\twocolitem{\windowstyle{wxRICHTEXT\_ORGANISER\_OK\_CANCEL}}{Provides OK can Cancel buttons.}
\twocolitem{\windowstyle{wxRICHTEXT\_ORGANISER\_RENUMBER}}{Provides a checkbox for specifying that the selection should be renumbered.}
\end{twocollist}

View File

@@ -89,7 +89,7 @@ be called even if \helpref{SetIcon}{wxstaticbitmapseticon} had been used.
\helpref{wxStaticBitmap::SetBitmap}{wxstaticbitmapsetbitmap}
\membersection{wxStaticBitmap::GetIcon}\label{wxstaticbitmapgeticon}
\membersection{wxStaticIcon::GetIcon}\label{wxstaticbitmapgeticon}
\constfunc{wxIcon}{GetIcon}{\void}
@@ -100,7 +100,7 @@ can't be retrieved from the control if a bitmap had been set (using
\wxheading{See also}
\helpref{wxStaticBitmap::SetIcon}{wxstaticbitmapseticon}
\helpref{wxStaticIcon::SetIcon}{wxstaticbitmapseticon}
\membersection{wxStaticBitmap::SetBitmap}\label{wxstaticbitmapsetbitmap}
@@ -118,7 +118,7 @@ Sets the bitmap label.
\helpref{wxStaticBitmap::GetBitmap}{wxstaticbitmapgetbitmap}
\membersection{wxStaticBitmap::SetIcon}\label{wxstaticbitmapseticon}
\membersection{wxStaticIcon::SetIcon}\label{wxstaticbitmapseticon}
\func{virtual void}{SetIcon}{\param{const wxIcon\& }{ label}}
@@ -130,5 +130,5 @@ Sets the label to the given icon.
\wxheading{See also}
\helpref{wxStaticBitmap::GetIcon}{wxstaticbitmapgeticon}
\helpref{wxStaticIcon::GetIcon}{wxstaticbitmapgeticon}

View File

@@ -31,11 +31,6 @@ Setting this to 0 causes more flicker, but allows applications to paint graphics
\twocolitem{msw.display.directdraw}{If set to 1, use DirectDraw-based implementation of
\helpref{wxDisplay}{wxdisplay}. By default the standard Win32 functions are
used.}
\twocolitem{msw.font.no-proof-quality}{If set to 1, use default fonts quality
instead of proof quality when creating fonts. With proof quality the fonts
have slightly better appearance but not all fonts are available in this
quality, e.g. the Terminal font in small sizes is not and this option may be
used if wider fonts selection is more important than higher quality.}
\end{twocollist}
\wxheading{Mac}

View File

@@ -28,7 +28,7 @@ htmlWorkshopFiles = true
htmlIndex = true
; Finally, a way to specify face names
;htmlFaceName = "Arial, Lucida, Helvetica"
htmlFaceName = "Arial, Lucida, Helvetica"
\textasciitilde [0]{{\tt\~}}
\textasciicircum [0]{{\tt\^}}
@@ -47,9 +47,9 @@ htmlStylesheet = "wx.css"
\windowstyle [1] {{\bf #1}\index{#1}}
\bftt [1] {\bf{\tt{#1}}}
\pythonnote [1] {{\bf \fcol{blue}{wxPython note:}} #1}
%\pythonnote [1] {}
\perlnote [1] {{\bf \fcol{blue}{wxPerl note:}} #1}
%\perlnote [1] {}
;;\pythonnote [1] {}
;;\perlnote [1] {{\bf \fcol{blue}{wxPerl note:}} #1}
\perlnote [1] {}
\arg [1] {{\it #1}}
\true [0] {{\tt true}}
\false [0] {{\tt false}}

View File

@@ -461,11 +461,10 @@ See also \helpref{Sleep()}{wxthreadsleep}.
\constfunc{ExitCode}{Wait}{\void}
Waits for a joinable thread to terminate and returns the value the thread
returned from \helpref{wxThread::Entry}{wxthreadentry} or {\tt (ExitCode)-1} on
error. Notice that, unlike \helpref{Delete}{wxthreaddelete} doesn't cancel the
thread in any way so the caller waits for as long as it takes to the thread to
exit.
Gracefully terminates a joinable thread, either when the thread calls
\helpref{TestDestroy}{wxthreadtestdestroy} or finished processing, and
returns the value the thread returned from
\helpref{wxThread::Entry}{wxthreadentry} or {\tt (ExitCode)-1} on error.
You can only Wait() for joinable (not detached) threads.

View File

@@ -90,7 +90,7 @@ Creates a new input stream on the specified URL. You can use all but seek
functionality of wxStream. Seek isn't available on all streams. For example,
HTTP or FTP streams don't deal with it.
Note that this method is somewhat deprecated, all future wxWidgets applications
Note that this method is somewhat depreciated, all future wxWidgets applications
should really use \helpref{wxFileSystem}{wxfilesystem} instead.
Example:

View File

@@ -157,11 +157,6 @@ This is useful if the decision about which pages to show is taken during
run-time, as in this case, the wizard won't be able to get to all pages starting
from a single one and you should call {\it Fit} separately for the others.
\membersection{wxWizard::GetBitmap}\label{wxwizardgetbitmap}
\constfunc{const wxBitmap\&}{GetBitmap}{\void}
Returns the bitmap used for the wizard.
\membersection{wxWizard::GetCurrentPage}\label{wxwizardgetcurrentpage}
@@ -246,11 +241,6 @@ Executes the wizard starting from the given page, returning {\tt true} if it was
successfully finished or {\tt false} if user cancelled it. The {\it firstPage}
can not be {\tt NULL}.
\membersection{wxWizard::SetBitmap}\label{wxwizardsetbitmap}
\func{void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}}
Sets the bitmap used for the wizard.
\membersection{wxWizard::SetPageSize}\label{wxwizardsetpagesize}

View File

@@ -573,35 +573,11 @@ Returns the empty string if {\it ch} is not found.
Returns a pointer to the string data ({\tt const char*} in ANSI build,
{\tt const wchar\_t*} in Unicode build).
Note that the returned value will not be convertible to {\tt char*} or
{\tt wchar\_t*} in wxWidgets 3, consider using
\helpref{char\_str}{wxstringcharstr} or
\helpref{wchar\_string}{wxstringwcharstr} if you need to pass string value
to a function expecting non-const pointer.
\wxheading{See also}
\helpref{mb\_str}{wxstringmbstr}, \helpref{wc\_str}{wxstringwcstr},
\helpref{fn\_str}{wxstringfnstr}, \helpref{char\_str}{wxstringcharstr},
\helpref{wchar\_string}{wxstringwcharstr}
\helpref{fn\_str}{wxstringfnstr}
\membersection{wxString::char\_str}\label{wxstringcharstr}
\constfunc{wxWritableCharBuffer}{char\_str}{\param{wxMBConv\&}{ conv = wxConvLibc}}
Returns an object with string data that is implicitly convertible to
{\tt char*} pointer. Note that any change to the returned buffer is lost and so
this function is only usable for passing strings to legacy libraries that
don't have const-correct API. Use \helpref{wxStringBuffer}{wxstringbuffer} if
you want to modify the string.
\newsince{2.8.4}
\wxheading{See also}
\helpref{mb\_str}{wxstringmbstr}, \helpref{wc\_str}{wxstringwcstr},
\helpref{fn\_str}{wxstringfnstr}, \helpref{c\_str}{wxstringcstr},
\helpref{wchar\_str}{wxstringwcharstr}
\membersection{wxString::Clear}\label{wxstringclear}
@@ -749,24 +725,6 @@ Returns the number of occurrences of {\it ch} in the string.
This is a wxWidgets 1.xx compatibility function; you should not use it in new code.
\membersection{wxString::From8BitData}\label{wxstringfrom8bitdata}
\func{static wxString }{From8BitData}{\param{const char*}{ buf}, \param{size\_t}{len}}
\func{static wxString }{From8BitData}{\param{const char*}{ buf}}
Converts given buffer of binary data from 8-bit string to wxString. In Unicode
build, the string is interpreted as being in ISO-8859-1 encoding. The version
without \arg{len} parameter takes NUL-terminated data.
This is a convenience method useful when storing binary data in wxString.
\newsince{2.8.4}
\wxheading{See also}
\helpref{To8BitData}{wxstringto8bitdata}
\membersection{wxString::FromAscii}\label{wxstringfromascii}
@@ -781,19 +739,6 @@ Use \helpref{wxString constructors}{wxstringconstruct} if you
need to convert from another charset.
\membersection{wxString::FromUTF8}\label{wxstringfromutf8}
\func{static wxString }{FromUTF8}{\param{const char*}{ s}}
\func{static wxString }{FromUTF8}{\param{const char*}{ s}, \param{size\_t}{ len}}
Converts C string encoded in UTF-8 to wxString.
Note that this method assumes that \arg{s} is a valid UTF-8 sequence and
doesn't do any validation in release builds, it's validity is only checked in
debug builds.
\membersection{wxString::GetChar}\label{wxstringgetchar}
\constfunc{wxChar}{GetChar}{\param{size\_t}{ n}}
@@ -992,7 +937,7 @@ The macro wxWX2MBbuf is defined as the correct return type (without const).
\helpref{wxMBConv}{wxmbconv},
\helpref{c\_str}{wxstringcstr}, \helpref{wc\_str}{wxstringwcstr},
\helpref{fn\_str}{wxstringfnstr}, \helpref{char\_str}{wxstringcharstr}
\helpref{fn\_str}{wxstringfnstr}
\membersection{wxString::Mid}\label{wxstringmid}
@@ -1153,34 +1098,16 @@ This is a wxWidgets 1.xx compatibility function, use \helpref{Mid}{wxstringmid}
instead (but note that parameters have different meaning).
\membersection{wxString::To8BitData}\label{wxstringto8bitdata}
\constfunc{const char*}{To8BitData}{\void}
Converts the string to an 8-bit string (ANSI builds only).
\constfunc{const wxCharBuffer}{To8BitData}{\void}
Converts the string to an 8-bit string in ISO-8859-1 encoding in the form of
a wxCharBuffer (Unicode builds only).
This is a convenience method useful when storing binary data in wxString.
\newsince{2.8.4}
\wxheading{See also}
\helpref{From8BitData}{wxstringfrom8bitdata}
\membersection{wxString::ToAscii}\label{wxstringtoascii}
\constfunc{const char*}{ToAscii}{\void}
Converts the string to an ASCII, 7-bit string (ANSI builds only).
\constfunc{const wxCharBuffer}{ToAscii}{\void}
Converts the string to an ASCII, 7-bit string in the form of
a wxCharBuffer (Unicode builds only) or a C string (ANSI builds).
a wxCharBuffer (Unicode builds only).
Note that this conversion only works if the string contains only ASCII
characters. The \helpref{mb\_str}{wxstringmbstr} method provides more
@@ -1272,15 +1199,6 @@ bit integer numbers.
Please see \helpref{ToLongLong}{wxstringtolonglong} for additional remarks.
\membersection{wxString::ToUTF8}\label{wxstringtoutf8}
\constfunc{const wxCharBuffer}{ToUF8}{\void}
Same as \helpref{utf8\_str}{wxstringutf8str}.
\newsince{2.8.4}
\membersection{wxString::Trim}\label{wxstringtrim}
\func{wxString\&}{Trim}{\param{bool}{ fromRight = true}}
@@ -1330,16 +1248,6 @@ The same as MakeUpper.
This is a wxWidgets 1.xx compatibility function; you should not use it in new code.
\membersection{wxString::utf8\_str}\label{wxstringutf8str}
\constfunc{const wxCharBuffer}{utf8\_str}{\void}
Converts the strings contents to UTF-8 and returns it as a temporary
wxCharBuffer object.
\newsince{2.8.4}
\membersection{wxString::wc\_str}\label{wxstringwcstr}
\constfunc{const wchar\_t*}{wc\_str}{\param{wxMBConv\&}{ conv}}
@@ -1356,25 +1264,7 @@ The macro wxWX2WCbuf is defined as the correct return type (without const).
\helpref{wxMBConv}{wxmbconv},
\helpref{c\_str}{wxstringcstr}, \helpref{mb\_str}{wxstringwcstr},
\helpref{fn\_str}{wxstringfnstr}, \helpref{wchar\_str}{wxstringwcharstr}
\membersection{wxString::wchar\_str}\label{wxstringwcharstr}
\constfunc{wxWritableWCharBuffer}{wchar\_str}{\void}
Returns an object with string data that is implicitly convertible to
{\tt char*} pointer. Note that any change to the returned buffer is lost and so
this function is only usable for passing strings to legacy libraries that
don't have const-correct API. Use \helpref{wxStringBuffer}{wxstringbuffer} if
you want to modify the string.
\newsince{2.8.4}
\wxheading{See also}
\helpref{mb\_str}{wxstringmbstr}, \helpref{wc\_str}{wxstringwcstr},
\helpref{fn\_str}{wxstringfnstr}, \helpref{c\_str}{wxstringcstr},
\helpref{char\_str}{wxstringcharstr}
\helpref{fn\_str}{wxstringfnstr}
\membersection{wxString::operator!}\label{wxstringoperatornot}

View File

@@ -766,9 +766,9 @@ VENDOR=<your company name>
distribute wxWidgets DLLs with your application. Default value is 'custom'.
This string is included as part of DLL name. wxWidgets DLLs contain compiler
name, version information and vendor name in them. For example
wxmsw283_core_bcc_custom.dll is one of DLLs build using Borland C++ with
wxmsw280_core_bcc_custom.dll is one of DLLs build using Borland C++ with
default settings. If you set VENDOR=mycorp, the name will change to
wxmsw283_core_bcc_mycorp.dll.
wxmsw280_core_bcc_mycorp.dll.
CFG=<configuration name>
Sets configuration name so that you can have multiple wxWidgets builds with

View File

@@ -1,4 +1,4 @@
wxWidgets 2.8.4
wxWidgets 2.8.2
---------------------------------------------------------
Welcome to wxWidgets, a sophisticated cross-platform C++

View File

@@ -10,13 +10,11 @@
{wx}/configure.in
{wx}/*.spec
{wx}/include/wx/version.h
{wx}/include/msvc/wx/setup.h {major release only}
{wx}/include/msvc/wx/setup.h
{wx}/docs/latex/wx/manual.tex
{wx}/docs/msw/install.txt
{wx}/docs/changes.txt
{wx}/docs/readme.txt
{wx}/build/bakefiles/wxpresets/presets/wx_win32.bkl {major release only}
{wx}/build/bakefiles/version.bkl {C:R:A}
{wx}/docs/changes.txt
{wx}/build/bakefiles/wxpresets/presets/wx_win32.bkl
{wx}/build/script/win_docs.bat {windows doc and setup file}
{wx}/distrib/scripts/build-environ.cfg {cvs tar and zip files}
@@ -35,12 +33,6 @@
Version: $Id$
$Log$
Revision 1.10.2.3 2007/03/15 14:55:02 CE
add readme.txt to files to change
Revision 1.10.2.2 2007/03/15 09:54:04 CE
update to 2.8.3 (configure and version.bkl to follow)
Revision 1.10.2.1 2007/02/12 10:54:52 CE
add docs/msw/install.txt

View File

@@ -17,7 +17,6 @@
#include "wx/stream.h"
#include "wx/image.h"
#include "wx/animdecod.h"
#include "wx/dynarray.h"
class /*WXDLLEXPORT*/ wxANIFrameInfo;

View File

@@ -45,14 +45,13 @@ enum wxAuiNotebookOption
wxAUI_NB_CLOSE_BUTTON = 1 << 10,
wxAUI_NB_CLOSE_ON_ACTIVE_TAB = 1 << 11,
wxAUI_NB_CLOSE_ON_ALL_TABS = 1 << 12,
wxAUI_NB_MIDDLE_CLICK_CLOSE = 1 << 13,
wxAUI_NB_DEFAULT_STYLE = wxAUI_NB_TOP |
wxAUI_NB_TAB_SPLIT |
wxAUI_NB_TAB_MOVE |
wxAUI_NB_SCROLL_BUTTONS |
wxAUI_NB_CLOSE_ON_ACTIVE_TAB |
wxAUI_NB_MIDDLE_CLICK_CLOSE
wxAUI_NB_CLOSE_ON_ACTIVE_TAB
};
@@ -83,10 +82,10 @@ public:
void SetSelection(int s) { selection = s; m_commandInt = s; }
int GetSelection() const { return selection; }
void SetOldSelection(int s) { old_selection = s; }
int GetOldSelection() const { return old_selection; }
void SetDragSource(wxAuiNotebook* s) { drag_source = s; }
wxAuiNotebook* GetDragSource() const { return drag_source; }
@@ -139,13 +138,13 @@ public:
wxAuiTabArt() { }
virtual ~wxAuiTabArt() { }
virtual wxAuiTabArt* Clone() = 0;
virtual void SetFlags(unsigned int flags) = 0;
virtual void SetSizingInfo(const wxSize& tab_ctrl_size,
size_t tab_count) = 0;
virtual void SetNormalFont(const wxFont& font) = 0;
virtual void SetSelectedFont(const wxFont& font) = 0;
virtual void SetMeasuringFont(const wxFont& font) = 0;
@@ -162,8 +161,8 @@ public:
int close_button_state,
wxRect* out_tab_rect,
wxRect* out_button_rect,
int* x_extent) = 0;
int* x_extent) = 0;
virtual void DrawButton(
wxDC& dc,
wxWindow* wnd,
@@ -172,7 +171,7 @@ public:
int button_state,
int orientation,
wxRect* out_rect) = 0;
virtual wxSize GetTabSize(
wxDC& dc,
wxWindow* wnd,
@@ -181,18 +180,18 @@ public:
bool active,
int close_button_state,
int* x_extent) = 0;
virtual int ShowDropDown(
wxWindow* wnd,
const wxAuiNotebookPageArray& items,
int active_idx) = 0;
virtual int GetIndentSize() = 0;
virtual int GetBestTabCtrlSize(
wxWindow* wnd,
const wxAuiNotebookPageArray& pages,
const wxSize& required_bmp_size) = 0;
const wxSize& required_bmp_size) = 0;
};
@@ -203,7 +202,7 @@ public:
wxAuiDefaultTabArt();
virtual ~wxAuiDefaultTabArt();
wxAuiTabArt* Clone();
void SetFlags(unsigned int flags);
void SetSizingInfo(const wxSize& tab_ctrl_size,
@@ -217,7 +216,7 @@ public:
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawTab(wxDC& dc,
wxWindow* wnd,
const wxAuiNotebookPage& pane,
@@ -226,7 +225,7 @@ public:
wxRect* out_tab_rect,
wxRect* out_button_rect,
int* x_extent);
void DrawButton(
wxDC& dc,
wxWindow* wnd,
@@ -235,9 +234,9 @@ public:
int button_state,
int orientation,
wxRect* out_rect);
int GetIndentSize();
wxSize GetTabSize(
wxDC& dc,
wxWindow* wnd,
@@ -246,7 +245,7 @@ public:
bool active,
int close_button_state,
int* x_extent);
int ShowDropDown(
wxWindow* wnd,
const wxAuiNotebookPageArray& items,
@@ -254,7 +253,7 @@ public:
int GetBestTabCtrlSize(wxWindow* wnd,
const wxAuiNotebookPageArray& pages,
const wxSize& required_bmp_size);
const wxSize& required_bmp_size);
protected:
@@ -273,7 +272,7 @@ protected:
wxBitmap m_disabled_right_bmp;
wxBitmap m_active_windowlist_bmp;
wxBitmap m_disabled_windowlist_bmp;
int m_fixed_tab_width;
int m_tab_ctrl_height;
unsigned int m_flags;
@@ -287,7 +286,7 @@ public:
wxAuiSimpleTabArt();
virtual ~wxAuiSimpleTabArt();
wxAuiTabArt* Clone();
void SetFlags(unsigned int flags);
@@ -302,7 +301,7 @@ public:
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawTab(wxDC& dc,
wxWindow* wnd,
const wxAuiNotebookPage& pane,
@@ -311,7 +310,7 @@ public:
wxRect* out_tab_rect,
wxRect* out_button_rect,
int* x_extent);
void DrawButton(
wxDC& dc,
wxWindow* wnd,
@@ -320,9 +319,9 @@ public:
int button_state,
int orientation,
wxRect* out_rect);
int GetIndentSize();
wxSize GetTabSize(
wxDC& dc,
wxWindow* wnd,
@@ -331,7 +330,7 @@ public:
bool active,
int close_button_state,
int* x_extent);
int ShowDropDown(
wxWindow* wnd,
const wxAuiNotebookPageArray& items,
@@ -339,7 +338,7 @@ public:
int GetBestTabCtrlSize(wxWindow* wnd,
const wxAuiNotebookPageArray& pages,
const wxSize& required_bmp_size);
const wxSize& required_bmp_size);
protected:
@@ -359,7 +358,7 @@ protected:
wxBitmap m_disabled_right_bmp;
wxBitmap m_active_windowlist_bmp;
wxBitmap m_disabled_windowlist_bmp;
int m_fixed_tab_width;
unsigned int m_flags;
};
@@ -406,7 +405,7 @@ public:
void SetMeasuringFont(const wxFont& measuring_font);
void DoShowHide();
void SetRect(const wxRect& rect);
void RemoveButton(int id);
void AddButton(int id,
int location,
@@ -415,7 +414,7 @@ public:
size_t GetTabOffset() const;
void SetTabOffset(size_t offset);
protected:
virtual void Render(wxDC* dc, wxWindow* wnd);
@@ -445,11 +444,7 @@ public:
long style = 0);
~wxAuiTabCtrl();
#if wxABI_VERSION >= 20805
bool IsDragging() const { return m_is_dragging; }
#endif
protected:
void OnPaint(wxPaintEvent& evt);
@@ -457,17 +452,11 @@ protected:
void OnSize(wxSizeEvent& evt);
void OnLeftDown(wxMouseEvent& evt);
void OnLeftUp(wxMouseEvent& evt);
#if wxABI_VERSION >= 20805
void OnMiddleDown(wxMouseEvent& evt);
void OnMiddleUp(wxMouseEvent& evt);
void OnRightDown(wxMouseEvent& evt);
void OnRightUp(wxMouseEvent& evt);
#endif
void OnMotion(wxMouseEvent& evt);
void OnLeaveWindow(wxMouseEvent& evt);
void OnButton(wxAuiNotebookEvent& evt);
protected:
wxPoint m_click_pt;
@@ -505,14 +494,14 @@ public:
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0);
void SetWindowStyleFlag(long style);
void SetArtProvider(wxAuiTabArt* art);
wxAuiTabArt* GetArtProvider() const;
virtual void SetUniformBitmapSize(const wxSize& size);
virtual void SetTabCtrlHeight(int height);
bool AddPage(wxWindow* page,
const wxString& caption,
bool select = false,
@@ -526,7 +515,7 @@ public:
bool DeletePage(size_t page);
bool RemovePage(size_t page);
size_t GetPageCount() const;
wxWindow* GetPage(size_t page_idx) const;
int GetPageIndex(wxWindow* page_wnd) const;
@@ -546,33 +535,13 @@ public:
const wxAuiManager& GetAuiManager() const { return m_mgr; }
#endif
#if wxABI_VERSION >= 20805
// Sets the normal font
void SetNormalFont(const wxFont& font);
// Sets the selected tab font
void SetSelectedFont(const wxFont& font);
// Sets the measuring font
void SetMeasuringFont(const wxFont& font);
// Sets the tab font
virtual bool SetFont(const wxFont& font);
// Gets the tab control height
int GetTabCtrlHeight() const;
// Gets the height of the notebook for a given page height
int GetHeightForPageHeight(int pageHeight);
#endif
protected:
// these can be overridden
virtual void UpdateTabCtrlHeight();
virtual int CalculateTabCtrlHeight();
virtual wxSize CalculateNewSplitSize();
protected:
void DoSizing();
@@ -583,7 +552,7 @@ protected:
bool FindTab(wxWindow* page, wxAuiTabCtrl** ctrl, int* idx);
void RemoveEmptyTabFrames();
void UpdateHintWindowSize();
protected:
void OnChildFocus(wxChildFocusEvent& evt);
@@ -594,13 +563,7 @@ protected:
void OnTabDragMotion(wxCommandEvent& evt);
void OnTabEndDrag(wxCommandEvent& evt);
void OnTabButton(wxCommandEvent& evt);
#if wxABI_VERSION >= 20805
void OnTabMiddleDown(wxCommandEvent& evt);
void OnTabMiddleUp(wxCommandEvent& evt);
void OnTabRightDown(wxCommandEvent& evt);
void OnTabRightUp(wxCommandEvent& evt);
#endif
protected:
wxAuiManager m_mgr;
@@ -614,7 +577,7 @@ protected:
wxFont m_selected_font;
wxFont m_normal_font;
int m_tab_ctrl_height;
int m_last_drag_x;
unsigned int m_flags;
@@ -640,19 +603,13 @@ BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_END_DRAG, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_DRAG_MOTION, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_ALLOW_DND, 0)
#if wxABI_VERSION >= 20805
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP, 0)
#endif
END_DECLARE_EVENT_TYPES()
typedef void (wxEvtHandler::*wxAuiNotebookEventFunction)(wxAuiNotebookEvent&);
#define wxAuiNotebookEventHandler(func) \
(wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxAuiNotebookEventFunction, &func)
#define EVT_AUINOTEBOOK_PAGE_CLOSE(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, winid, wxAuiNotebookEventHandler(fn))
#define EVT_AUINOTEBOOK_PAGE_CHANGED(winid, fn) \
@@ -670,17 +627,6 @@ typedef void (wxEvtHandler::*wxAuiNotebookEventFunction)(wxAuiNotebookEvent&);
#define EVT_AUINOTEBOOK_ALLOW_DND(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_ALLOW_DND, winid, wxAuiNotebookEventHandler(fn))
#if wxABI_VERSION >= 20805
#define EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN, winid, wxAuiNotebookEventHandler(fn))
#define EVT_AUINOTEBOOK_TAB_MIDDLE_UP(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP, winid, wxAuiNotebookEventHandler(fn))
#define EVT_AUINOTEBOOK_TAB_RIGHT_DOWN(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN, winid, wxAuiNotebookEventHandler(fn))
#define EVT_AUINOTEBOOK_TAB_RIGHT_UP(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP, winid, wxAuiNotebookEventHandler(fn))
#endif
#else
// wxpython/swig event work

View File

@@ -63,7 +63,7 @@ public:
wxAuiNotebook* GetNotebook() const;
#if wxUSE_MENUS
wxMenu* GetWindowMenu() const { return m_pWindowMenu; }
wxMenu* GetWindowMenu() const { return m_pWindowMenu; };
void SetWindowMenu(wxMenu* pMenu);
virtual void SetMenuBar(wxMenuBar *pMenuBar);

View File

@@ -39,11 +39,11 @@ public:
void SetBitmapLabel(const wxBitmap& bitmap)
{ m_bmpNormal = bitmap; OnSetBitmap(); }
void SetBitmapSelected(const wxBitmap& sel)
{ m_bmpSelected = sel; OnSetBitmap(); }
{ m_bmpSelected = sel; OnSetBitmap(); };
void SetBitmapFocus(const wxBitmap& focus)
{ m_bmpFocus = focus; OnSetBitmap(); }
{ m_bmpFocus = focus; OnSetBitmap(); };
void SetBitmapDisabled(const wxBitmap& disabled)
{ m_bmpDisabled = disabled; OnSetBitmap(); }
{ m_bmpDisabled = disabled; OnSetBitmap(); };
void SetBitmapHover(const wxBitmap& hover)
{ m_bmpHover = hover; OnSetBitmap(); }

View File

@@ -111,35 +111,15 @@ private: \
chartype *m_str; \
}
#if wxABI_VERSION >= 20804
// needed for wxString::char_str() and wchar_str()
#define DEFINE_WRITABLE_BUFFER(classname, baseclass, chartype) \
class WXDLLIMPEXP_BASE classname : public baseclass \
{ \
public: \
classname(const baseclass& src) : baseclass(src) {} \
classname(const chartype *str = NULL) : baseclass(str) {} \
\
operator chartype*() { return this->data(); } \
}
#endif // wxABI_VERSION >= 20804
DEFINE_BUFFER(wxCharBuffer, char, wxStrdupA);
#if wxABI_VERSION >= 20804
DEFINE_WRITABLE_BUFFER(wxWritableCharBuffer, wxCharBuffer, char);
#endif
#if wxUSE_WCHAR_T
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
#if wxABI_VERSION >= 20804
DEFINE_WRITABLE_BUFFER(wxWritableWCharBuffer, wxWCharBuffer, wchar_t);
#endif
#endif // wxUSE_WCHAR_T
#undef DEFINE_BUFFER
#undef DEFINE_WRITABLE_BUFFER
#if wxUSE_UNICODE
typedef wxWCharBuffer wxWxCharBuffer;

View File

@@ -1197,18 +1197,6 @@
# endif
#endif /* wxUSE_ZIPSTREAM */
#if wxUSE_TARSTREAM
/* wxTar doesn't currently compile without wchar_t */
# if !wxUSE_WCHAR_T
# ifdef wxABORT_ON_CONFIG_ERROR
# error "wxTar requires wchar_t"
# else
# undef wxUSE_TARSTREAM
# define wxUSE_TARSTREAM 0
# endif
# endif
#endif /* wxUSE_TARSTREAM */
#if wxUSE_TARSTREAM
# if !wxUSE_ARCHIVE_STREAMS
# ifdef wxABORT_ON_CONFIG_ERROR

View File

@@ -292,39 +292,39 @@ public:
wxPrintDialogData(const wxPrintData& printData);
virtual ~wxPrintDialogData();
int GetFromPage() const { return m_printFromPage; }
int GetToPage() const { return m_printToPage; }
int GetMinPage() const { return m_printMinPage; }
int GetMaxPage() const { return m_printMaxPage; }
int GetNoCopies() const { return m_printNoCopies; }
bool GetAllPages() const { return m_printAllPages; }
bool GetSelection() const { return m_printSelection; }
bool GetCollate() const { return m_printCollate; }
bool GetPrintToFile() const { return m_printToFile; }
int GetFromPage() const { return m_printFromPage; };
int GetToPage() const { return m_printToPage; };
int GetMinPage() const { return m_printMinPage; };
int GetMaxPage() const { return m_printMaxPage; };
int GetNoCopies() const { return m_printNoCopies; };
bool GetAllPages() const { return m_printAllPages; };
bool GetSelection() const { return m_printSelection; };
bool GetCollate() const { return m_printCollate; };
bool GetPrintToFile() const { return m_printToFile; };
#if WXWIN_COMPATIBILITY_2_4
bool GetSetupDialog() const { return m_printSetupDialog; }
bool GetSetupDialog() const { return m_printSetupDialog; };
#endif
void SetFromPage(int v) { m_printFromPage = v; }
void SetToPage(int v) { m_printToPage = v; }
void SetMinPage(int v) { m_printMinPage = v; }
void SetMaxPage(int v) { m_printMaxPage = v; }
void SetNoCopies(int v) { m_printNoCopies = v; }
void SetAllPages(bool flag) { m_printAllPages = flag; }
void SetSelection(bool flag) { m_printSelection = flag; }
void SetCollate(bool flag) { m_printCollate = flag; }
void SetPrintToFile(bool flag) { m_printToFile = flag; }
void SetFromPage(int v) { m_printFromPage = v; };
void SetToPage(int v) { m_printToPage = v; };
void SetMinPage(int v) { m_printMinPage = v; };
void SetMaxPage(int v) { m_printMaxPage = v; };
void SetNoCopies(int v) { m_printNoCopies = v; };
void SetAllPages(bool flag) { m_printAllPages = flag; };
void SetSelection(bool flag) { m_printSelection = flag; };
void SetCollate(bool flag) { m_printCollate = flag; };
void SetPrintToFile(bool flag) { m_printToFile = flag; };
#if WXWIN_COMPATIBILITY_2_4
void SetSetupDialog(bool flag) { m_printSetupDialog = flag; }
void SetSetupDialog(bool flag) { m_printSetupDialog = flag; };
#endif
void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; }
void EnableSelection(bool flag) { m_printEnableSelection = flag; }
void EnablePageNumbers(bool flag) { m_printEnablePageNumbers = flag; }
void EnableHelp(bool flag) { m_printEnableHelp = flag; }
void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; };
void EnableSelection(bool flag) { m_printEnableSelection = flag; };
void EnablePageNumbers(bool flag) { m_printEnablePageNumbers = flag; };
void EnableHelp(bool flag) { m_printEnableHelp = flag; };
bool GetEnablePrintToFile() const { return m_printEnablePrintToFile; }
bool GetEnableSelection() const { return m_printEnableSelection; }
bool GetEnablePageNumbers() const { return m_printEnablePageNumbers; }
bool GetEnableHelp() const { return m_printEnableHelp; }
bool GetEnablePrintToFile() const { return m_printEnablePrintToFile; };
bool GetEnableSelection() const { return m_printEnableSelection; };
bool GetEnablePageNumbers() const { return m_printEnablePageNumbers; };
bool GetEnableHelp() const { return m_printEnableHelp; };
// Is this data OK for showing the print dialog?
bool Ok() const { return IsOk(); }
@@ -374,20 +374,20 @@ public:
wxPageSetupDialogData(const wxPrintData& printData);
virtual ~wxPageSetupDialogData();
wxSize GetPaperSize() const { return m_paperSize; }
wxPaperSize GetPaperId() const { return m_printData.GetPaperId(); }
wxPoint GetMinMarginTopLeft() const { return m_minMarginTopLeft; }
wxPoint GetMinMarginBottomRight() const { return m_minMarginBottomRight; }
wxPoint GetMarginTopLeft() const { return m_marginTopLeft; }
wxPoint GetMarginBottomRight() const { return m_marginBottomRight; }
wxSize GetPaperSize() const { return m_paperSize; };
wxPaperSize GetPaperId() const { return m_printData.GetPaperId(); };
wxPoint GetMinMarginTopLeft() const { return m_minMarginTopLeft; };
wxPoint GetMinMarginBottomRight() const { return m_minMarginBottomRight; };
wxPoint GetMarginTopLeft() const { return m_marginTopLeft; };
wxPoint GetMarginBottomRight() const { return m_marginBottomRight; };
bool GetDefaultMinMargins() const { return m_defaultMinMargins; }
bool GetEnableMargins() const { return m_enableMargins; }
bool GetEnableOrientation() const { return m_enableOrientation; }
bool GetEnablePaper() const { return m_enablePaper; }
bool GetEnablePrinter() const { return m_enablePrinter; }
bool GetDefaultInfo() const { return m_getDefaultInfo; }
bool GetEnableHelp() const { return m_enableHelp; }
bool GetDefaultMinMargins() const { return m_defaultMinMargins; };
bool GetEnableMargins() const { return m_enableMargins; };
bool GetEnableOrientation() const { return m_enableOrientation; };
bool GetEnablePaper() const { return m_enablePaper; };
bool GetEnablePrinter() const { return m_enablePrinter; };
bool GetDefaultInfo() const { return m_getDefaultInfo; };
bool GetEnableHelp() const { return m_enableHelp; };
// Is this data OK for showing the page setup dialog?
bool Ok() const { return IsOk(); }
@@ -397,23 +397,23 @@ public:
// paper size id member as well.
void SetPaperSize(const wxSize& sz);
void SetPaperId(wxPaperSize id) { m_printData.SetPaperId(id); }
void SetPaperId(wxPaperSize id) { m_printData.SetPaperId(id); };
// Sets the wxPrintData id, plus the paper width/height if found in the paper database.
void SetPaperSize(wxPaperSize id);
void SetMinMarginTopLeft(const wxPoint& pt) { m_minMarginTopLeft = pt; }
void SetMinMarginBottomRight(const wxPoint& pt) { m_minMarginBottomRight = pt; }
void SetMarginTopLeft(const wxPoint& pt) { m_marginTopLeft = pt; }
void SetMarginBottomRight(const wxPoint& pt) { m_marginBottomRight = pt; }
void SetDefaultMinMargins(bool flag) { m_defaultMinMargins = flag; }
void SetDefaultInfo(bool flag) { m_getDefaultInfo = flag; }
void SetMinMarginTopLeft(const wxPoint& pt) { m_minMarginTopLeft = pt; };
void SetMinMarginBottomRight(const wxPoint& pt) { m_minMarginBottomRight = pt; };
void SetMarginTopLeft(const wxPoint& pt) { m_marginTopLeft = pt; };
void SetMarginBottomRight(const wxPoint& pt) { m_marginBottomRight = pt; };
void SetDefaultMinMargins(bool flag) { m_defaultMinMargins = flag; };
void SetDefaultInfo(bool flag) { m_getDefaultInfo = flag; };
void EnableMargins(bool flag) { m_enableMargins = flag; }
void EnableOrientation(bool flag) { m_enableOrientation = flag; }
void EnablePaper(bool flag) { m_enablePaper = flag; }
void EnablePrinter(bool flag) { m_enablePrinter = flag; }
void EnableHelp(bool flag) { m_enableHelp = flag; }
void EnableMargins(bool flag) { m_enableMargins = flag; };
void EnableOrientation(bool flag) { m_enableOrientation = flag; };
void EnablePaper(bool flag) { m_enablePaper = flag; };
void EnablePrinter(bool flag) { m_enablePrinter = flag; };
void EnableHelp(bool flag) { m_enableHelp = flag; };
// Use paper size defined in this object to set the wxPrintData
// paper id

View File

@@ -12,57 +12,22 @@
#ifndef _WX_COCOA_NSAPPLICATION_H__
#define _WX_COCOA_NSAPPLICATION_H__
#include "wx/cocoa/objc/objc_uniquifying.h"
// ========================================================================
// wxNSApplicationDelegate
// ========================================================================
/*!
@class wxNSApplicationDelegate
@discussion Implements an NSApplication delegate which can respond to messages sent by Cocoa to change Cocoa's behavior.
wxCocoa will set a singleton instance of this class as the NSApplication delegate upon startup unless wxWidgets is running
in a "plugin" manner in which case it would not be appropriate to do this.
Although Cocoa will send notifications to the delegate it is also possible to register a different object to listen for
them. Because we want to support the plugin case, we use a separate notification observer object when we can.
*/
@interface wxNSApplicationDelegate : NSObject
{
}
// Delegate methods
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication;
@end // interface wxNSApplicationDelegate : NSObject
WX_DECLARE_GET_OBJC_CLASS(wxNSApplicationDelegate,NSObject)
// ========================================================================
// wxNSApplicationObserver
// ========================================================================
/*!
@class wxNSApplicationObserver
@discussion Observes most notifications sent by the NSApplication singleton.
wxCocoa will create a singleton instance of this class upon startup and register it with the default notification center to
listen for several events sent by the NSApplication singleton.
Because there can be any number of notification observers, this method allows wxCocoa to function properly even when it is
running as a plugin of some other (most likely not wxWidgets) application.
*/
@interface wxNSApplicationObserver : NSObject
{
}
// Methods defined as (but not used here) as NSApplication delegate methods.
- (void)applicationWillBecomeActive:(NSNotification *)notification;
- (void)applicationDidBecomeActive:(NSNotification *)notification;
- (void)applicationWillResignActive:(NSNotification *)notification;
- (void)applicationDidResignActive:(NSNotification *)notification;
- (void)applicationWillUpdate:(NSNotification *)notification;
// Other notifications
- (void)controlTintChanged:(NSNotification *)notification;
@end // interface wxNSApplicationObserver : NSObject
WX_DECLARE_GET_OBJC_CLASS(wxNSApplicationObserver,NSObject)
@end // interface wxNSApplicationDelegate : NSObject
#endif //ndef _WX_COCOA_NSAPPLICATION_H__

View File

@@ -15,12 +15,7 @@
#include "wx/hashmap.h"
#include "wx/cocoa/ObjcAssociate.h"
#if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64)
typedef struct CGRect NSRect;
#else
typedef struct _NSRect NSRect;
#endif
class wxWindow;
WX_DECLARE_OBJC_HASHMAP(NSView);
@@ -37,9 +32,6 @@ public:
virtual wxWindow* GetWxWindow() const
{ return NULL; }
virtual void Cocoa_FrameChanged(void) = 0;
#if 0 // ABI incompatibility
virtual void Cocoa_synthesizeMouseMoved(void) = 0;
#endif
virtual bool Cocoa_acceptsFirstMouse(bool &acceptsFirstMouse, WX_NSEvent theEvent)
{ return false; }
virtual bool Cocoa_drawRect(const NSRect &rect)
@@ -70,12 +62,6 @@ public:
{ return false; }
virtual bool Cocoa_resetCursorRects()
{ return false; }
#if 0 // ABI incompatibility
virtual bool Cocoa_viewDidMoveToWindow()
{ return false; }
virtual bool Cocoa_viewWillMoveToWindow(WX_NSWindow newWindow)
{ return false; }
#endif
virtual ~wxCocoaNSView() { }
};

View File

@@ -12,11 +12,6 @@
#ifndef _WX_COCOA_APP_H_
#define _WX_COCOA_APP_H_
typedef struct __CFRunLoopObserver * CFRunLoopObserverRef;
typedef const struct __CFString * CFStringRef;
#include "wx/mac/corefoundation/cfref.h"
// ========================================================================
// wxApp
// ========================================================================
@@ -31,10 +26,7 @@ class WXDLLEXPORT wxApp: public wxAppBase
// ------------------------------------------------------------------------
public:
wxApp();
// ABI compatibility warning: This was implemented inline. wxCocoa apps
// compiled against < 2.8.5 won't call the new implementation which cleans up
// the CFRunLoop idle observer. Fortunately, Cleanup does that in 2.8.
virtual ~wxApp();
virtual ~wxApp() {}
// ------------------------------------------------------------------------
// Cocoa specifics
@@ -45,9 +37,6 @@ public:
virtual void CocoaDelegate_applicationDidBecomeActive();
virtual void CocoaDelegate_applicationWillResignActive();
virtual void CocoaDelegate_applicationDidResignActive();
/* The following two cannot be virtual due to 2.8 ABI compatibility */
/*virtual*/ void CocoaDelegate_applicationWillUpdate();
/*virtual*/ void CF_ObserveMainRunLoopBeforeWaiting(CFRunLoopObserverRef observer, int activity);
protected:
WX_NSApplication m_cocoaApp;
struct objc_object *m_cocoaAppDelegate;
@@ -76,8 +65,6 @@ public:
bool IsInAssert() const { return m_isInAssert; }
#endif // __WXDEBUG__
// Set true _before_ initializing wx to force embedded mode (no app delegate, etc.)
static bool sm_isEmbedded;
private:
#ifdef __WXDEBUG__
bool m_isInAssert;

View File

@@ -43,9 +43,6 @@ public:
// Construct a mask from a mono bitmap (copies the bitmap).
wxMask(const wxBitmap& bitmap);
// Copy constructor
wxMask(const wxMask& src);
virtual ~wxMask();
bool Create(const wxBitmap& bitmap, const wxColour& colour);

View File

@@ -59,8 +59,6 @@ public:
virtual void SetValue(bool);
virtual bool GetValue() const;
virtual void SetLabel(const wxString& label);
virtual wxString GetLabel() const;
protected:
virtual void DoSet3StateValue(wxCheckBoxState state);
virtual wxCheckBoxState DoGet3StateValue() const;

View File

@@ -61,20 +61,8 @@ public:
// Enables the control
virtual void CocoaSetEnabled(bool enable);
wxString GetLabel() const;
void SetLabel(const wxString& label);
protected:
virtual wxSize DoGetBestSize() const;
// Provides a common implementation of title setting which strips mnemonics
// and then calls setTitle: with the stripped string. May be implemented
// to call setTitleWithMnemonic: on OpenStep-compatible systems. Only
// intended for use by views or cells which implement at least setTitle:
// and possibly setTitleWithMnemonic: such as NSBox and NSButton or NSCell
// classes, for example as used by wxRadioBox. Not usable with classes like
// NSTextField which expect setStringValue:.
static void CocoaSetLabelForObject(const wxString& labelWithWxMnemonic, struct objc_object *anObject);
};
#endif

View File

@@ -83,7 +83,7 @@ public:
virtual void StartPage(void) {};
virtual void EndPage(void) {};
virtual void SetFont(const wxFont& font);
virtual void SetFont(const wxFont& font) {}
virtual void SetPen(const wxPen& pen);
virtual void SetBrush(const wxBrush& brush);
virtual void SetBackground(const wxBrush& brush);

View File

@@ -73,8 +73,6 @@ private:
// ========================================================================
// wxMenuBar
// ========================================================================
// NOTE: wxCocoaNSMenu subclass is not needed but cannot be removed due to
// ABI compatibility issues. It is removed in trunk (2.9)
class WXDLLEXPORT wxMenuBar : public wxMenuBarBase, public wxCocoaNSMenu
{
public:

View File

@@ -1,28 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/cocoa/objc/NSMenu.h
// Purpose: WXNSMenu class
// Author: David Elliott
// Modified by:
// Created: 2007/04/20 (move from NSMenu.mm)
// RCS-ID: $Id$
// Copyright: (c) 2002 David Elliott
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef __WX_COCOA_OBJC_NSMENU_H__
#define __WX_COCOA_OBJC_NSMENU_H__
#import <AppKit/NSMenu.h>
// ============================================================================
// @class WXNSMenu
// ============================================================================
@interface WXNSMenu : NSMenu
{
}
- (void)dealloc;
@end // WXNSMenu
#endif //ndef __WX_COCOA_OBJC_NSMENU_H__

View File

@@ -1,45 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/cocoa/objc/NSView.h
// Purpose: WXNSView class
// Author: David Elliott
// Modified by:
// Created: 2007/04/20 (move from NSView.mm)
// RCS-ID: $Id$
// Copyright: (c) 2003 David Elliott
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef __WX_COCOA_OBJC_NSVIEW_H__
#define __WX_COCOA_OBJC_NSVIEW_H__
#include "wx/cocoa/objc/objc_uniquifying.h"
#import <AppKit/NSView.h>
// ============================================================================
// @class WXNSView
// ============================================================================
@interface WXNSView : NSView
{
}
- (void)drawRect: (NSRect)rect;
- (void)mouseDown:(NSEvent *)theEvent;
- (void)mouseDragged:(NSEvent *)theEvent;
- (void)mouseUp:(NSEvent *)theEvent;
- (void)mouseMoved:(NSEvent *)theEvent;
- (void)mouseEntered:(NSEvent *)theEvent;
- (void)mouseExited:(NSEvent *)theEvent;
- (void)rightMouseDown:(NSEvent *)theEvent;
- (void)rightMouseDragged:(NSEvent *)theEvent;
- (void)rightMouseUp:(NSEvent *)theEvent;
- (void)otherMouseDown:(NSEvent *)theEvent;
- (void)otherMouseDragged:(NSEvent *)theEvent;
- (void)otherMouseUp:(NSEvent *)theEvent;
- (void)resetCursorRects;
- (void)viewDidMoveToWindow;
- (void)viewWillMoveToWindow:(NSWindow *)newWindow;
@end // WXNSView
WX_DECLARE_GET_OBJC_CLASS(WXNSView,NSView)
#endif //ndef __WX_COCOA_OBJC_NSVIEW_H__

View File

@@ -1,36 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/cocoa/objc/NSWindow.h
// Purpose: WXNSWindow class
// Author: David Elliott
// Modified by:
// Created: 2007/04/20 (move from NSWindow.mm)
// RCS-ID: $Id$
// Copyright: (c) 2003 David Elliott
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#import <AppKit/NSWindow.h>
#import <AppKit/NSPanel.h>
// ============================================================================
// @class WXNSWindow
// ============================================================================
@interface WXNSWindow : NSWindow
{
}
- (BOOL)canBecomeKeyWindow;
- (BOOL)canBecomeMainWindow;
@end // WXNSWindow
// ============================================================================
// @class WXNSPanel
// ============================================================================
@interface WXNSPanel : NSPanel
{
}
- (BOOL)canBecomeKeyWindow;
- (BOOL)canBecomeMainWindow;
@end // WXNSPanel

View File

@@ -1,291 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/cocoa/objc/objc_uniquifying.h
// Purpose: Allows wxWidgets code to get a direct pointer to a compiled
// Objective-C class and provides a method to fix up the
// name to include a unique identifier (currently the address
// of the objc_class structure).
// Author: David Elliott <dfe@cox.net>
// Modified by:
// Created: 2007/05/15
// RCS-ID: $Id$
// Copyright: (c) 2007 Software 2000 Ltd.
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WX_COCOA_OBJC_CLASS_H__
#define __WX_COCOA_OBJC_CLASS_H__
#if wxUSE_OBJC_UNIQUIFYING
// objc_getClass and stuff
#include <objc/objc-runtime.h>
////////////// Objective-C uniquifying implementation //////////////
template <typename ObjcType>
class wxObjcClassInitializer;
template <typename ObjcType>
class UniquifiedName;
template <typename ObjcType>
class wxObjcCompilerInformation
{
friend class wxObjcClassInitializer<ObjcType>;
friend class UniquifiedName<ObjcType>;
private:
// GetCompiledClass must be partially specialized for an ObjcType
// If you're not using it, implement an inline returning NULL
inline static struct objc_class * GetCompiledClass();
// sm_theClassName must be partially specialized for each type
static const char sm_theClassName[];
// GetSuperclass must be specialized. Typically one of two ways:
// 1. objc_getClass("SomeRealClassName")
// 2. wxGetObjcClass_SomeWxClassName();
inline static struct objc_class *GetSuperclass();
};
template <typename ObjcType>
struct UniquifiedName
{
// We're going for OriginalClassName@ClassStructureAddress
// Therefore our size is the sizeof the original class name constant string (which includes the terminating NULL)
// plus the sizeof a pointer to struct objc_class times two (two hex digits for each byte) plus 3 for "@0x"
typedef char Type[sizeof(wxObjcCompilerInformation<ObjcType>::sm_theClassName) + (sizeof(struct objc_class*)<<1) + 3];
static void Init(Type m_theString, const objc_class *aClass)
{
snprintf(const_cast<char*>(m_theString), sizeof(Type), "%s@%p", wxObjcCompilerInformation<ObjcType>::sm_theClassName, aClass);
}
};
template <typename ObjcType>
class wxObjcClassInitializer
{
public:
static struct objc_class* Get()
{
static wxObjcClassInitializer<ObjcType> s_theInstance;
s_theInstance.noop(); // Make the compiler think we need this instance
return wxObjcCompilerInformation<ObjcType>::GetCompiledClass();
}
private:
void noop()
{}
// This "constructor" operates solely on static data
// It exists so that we can take advantage of a function-static
// "instance" of this class to do the static data initialization.
wxObjcClassInitializer()
{
// Objective-C class initialization occurs before C++ static initialization because the
// libobjc.dylib gets notified directly by dyld on Tiger.
// Therefore, even though we change the name, the class is still registered with the
// original name. We unfortunately can't change that.
// The first time the class is loaded, Objective-C will already have fixed up the super_class
// and isa->isa and isa->super_class variables so much of this won't do anything. But
// the next time the class is loaded, Objective-C will ignore it and thus we need to
// initialize the data structures appropriately.
// Ideally we'd have some sort of lock here, but we depend on the fact that we get called
// just before the first time someone wants to send a class message so it should be
// reasonably safe to do this without any locks.
struct objc_class &theClassData = *wxObjcCompilerInformation<ObjcType>::GetCompiledClass();
// Initialize the uniquified class name
UniquifiedName<ObjcType>::Init(sm_theUniquifiedClassName, &theClassData);
//////// Class Initialization ////////
// Use objc_getClass to fix up the superclass pointer
theClassData.super_class = wxObjcCompilerInformation<ObjcType>::GetSuperclass();
// Fix up the compiler generated class struct to use the new name
theClassData.name = sm_theUniquifiedClassName;
//////// Meta-Class Initialization ////////
// theClassData.isa is the metaclass pointer
// Globals on Darwin use PC-relative access (slow) so it's quicker to use theClassData.isa
// In any object hierarchy a metaclass's metaclass is always the root class's metaclass
// Therefore, our superclass's metaclass's metaclass should already be the root class's metaclass
theClassData.isa->isa = theClassData.super_class->isa->isa;
// A metaclass's superclass is always the superclass's metaclass.
theClassData.isa->super_class = theClassData.super_class->isa;
// Fix up the compiler generated metaclass struct to use the new name
theClassData.isa->name = sm_theUniquifiedClassName;
// We need to set the initialized flag because after we change the name, Objective-C can't
// look us up by name because we're only registered with the original name.
theClassData.isa->info |= CLS_INITIALIZED;
}
wxObjcClassInitializer(const wxObjcClassInitializer&); // NO COPY
wxObjcClassInitializer& operator =(const wxObjcClassInitializer&); // NO ASSIGN
static typename UniquifiedName<ObjcType>::Type sm_theUniquifiedClassName;
};
template<typename ObjcType>
typename UniquifiedName<ObjcType>::Type wxObjcClassInitializer<ObjcType>::sm_theUniquifiedClassName;
// WX_DECLARE_GET_OBJC_CLASS
// Declares a function to get a direct pointer to an objective-C class.
// The class is guaranteed to be usable.
// When wxCocoa is built into a Mach-O bundle this function allows the wxCocoa
// code to get a reference to the Objective-C class structure located in the
// same bundle. This allows a static wxCocoa library to be built into
// two different Mach-O bundles without having one bundle's Objective-C
// classes trample on the other's.
// Right now we toss the ObjcSuperClass parameter, but we might use it later.
#define WX_DECLARE_GET_OBJC_CLASS(ObjcClass,ObjcSuperClass) \
struct objc_class* wx_GetObjcClass_ ## ObjcClass();
// WX_IMPLEMENT_OBJC_GET_COMPILED_CLASS(ObjcClass)
// Provides an architecture-dependent way to get the direct pointer to the
// objc_class structure in the __OBJC segment.
// This takes advantage of the fact that the Objective-C compiler uses guessable
// local assembler labels for the class structures.
// Those class structures are only available on the Objective-C file containing the
// @implementation block.
#if 1
// Generic implementation - Tested on i386 and PPC. Should work in all cases.
// This is a hack that depends on GCC asm symbol names.
// The static variable winds up being initialized with a direct reference to the appropriate
// L_OBJC_CLASS and no global symbol reference is generated because nothing uses the global symbol
// except for the static initializer which does it directly.
// The generated assembler for s_objc_class_ptr is basically like this:
// _s_objc_class_ptr_ObjcClass:
// .long L_OBJC_CLASS_ObjcClass
// Once that static symbol is defined, the function implementation is easy for GCC to generate.
// Do note that return &s_objc_class_data_ObjcClass won't work. The code is wrong in the case.
#define WX_IMPLEMENT_OBJC_GET_COMPILED_CLASS(ObjcClass) \
extern "C" objc_class s_objc_class_data_ ## ObjcClass asm("L_OBJC_CLASS_" #ObjcClass); \
static objc_class * s_objc_class_ptr_ ## ObjcClass = &s_objc_class_data_ ## ObjcClass; \
template<> \
inline objc_class * wxObjcCompilerInformation<ObjcClass>::GetCompiledClass() \
{ \
return s_objc_class_ptr_## ObjcClass; \
}
#elif defined(__i386__)
// Not used because the generic implementation seems to work fine.
// But this is here since it was written beforehand and it also works.
// This is based on the code GCC generates for accessing file-static data on i386.
// The i386 PC-relative addressing happens in this manner
// 1. The program counter is placed into ecx using the code that GCC should have
// already generated.
// 2. A label is placed directly after the call to get the program counter.
// 3. The Load Effective Address instruction is used to add the offset of the
// local assembler label we're interested in minus the local assembler label
// from step 2 to the program counter register in ecx and place the result
// into the result register (typically eax if not inlined).
#define WX_IMPLEMENT_OBJC_GET_COMPILED_CLASS(ObjcClass) \
template<> \
inline objc_class * wxObjcCompilerInformation<ObjcClass>::GetCompiledClass() \
{ \
register struct objc_class *retval; \
asm \
( "call ___i686.get_pc_thunk.cx\n" \
"\"LPC_FOR_GET_CLASS_" #ObjcClass "\":\n\t" \
"leal L_OBJC_CLASS_" #ObjcClass "-\"LPC_FOR_GET_CLASS_" #ObjcClass "\"(%%ecx), %0" \
: "=r"(retval) \
: \
: "ecx" \
); \
return retval; \
}
#elif defined(__ppc__)
// Not used because the generic implementation seems to work fine.
// But this is here since it was written beforehand and it also works.
// This is based on the code GCC generates for accessing file-static data on PPC.
// The PowerPC PC-relative addressing happens in this manner
// 1. The link register is saved (mflr) to a temporary (we re-use the output register for this)
// 2. An unconditional branch instruction (bcl) "branches" to the following address (labeled)
// 3. The link register (filled in by bcl) is saved to r10 (a temporary)
// 4. The previous link register is restored (mtlr) (from the output register we were using as a temporary)
// 5. The address of the LPC label as executed is added to the high 16 bits of the offset between that label and the static data we want
// and stored in a temporary register (r2)
// 6. That temporary register plus the low 16 bits of the offset are stored into the result register.
#define WX_IMPLEMENT_OBJC_GET_COMPILED_CLASS(ObjcClass) \
template<> \
inline objc_class * wxObjcCompilerInformation<ObjcClass>::GetCompiledClass() \
{ \
register struct objc_class *retval; \
asm \
( "mflr %0" \
"\n\tbcl 20, 31, \"LPC_FOR_GET_CLASS_" #ObjcClass "\"" \
"\n\"LPC_FOR_GET_CLASS_" #ObjcClass "\":" \
"\n\tmflr r10" \
"\n\tmtlr %0" \
"\n\taddis r2,r10,ha16(L_OBJC_CLASS_" #ObjcClass "-\"LPC_FOR_GET_CLASS_" #ObjcClass "\")" \
"\n\tla %0,lo16(L_OBJC_CLASS_" #ObjcClass "-\"LPC_FOR_GET_CLASS_" #ObjcClass "\")(r2)" \
: "=r" (retval) \
: \
: "r10","r2" \
); \
return retval; \
}
// TODO: __x86_64__, __ppc64__
#else // Can't wrie inline asm to bust into __OBJC segment
// This won't be used since the generic implementation takes precedence.
#warning "Don't know how to implement wxObjcCompilerInformation<ObjcClass>::GetCompiledClass on this platform"
#endif // platforms
// The WX_IMPLEMENT_OBJC_GET_SUPERCLASS macro implements the template specialization
// to get the superclass. This only works if it's a real superclass. If you are
// deriving from a class that's already being uniquified then you'd need to
// implement the specialization to call the appropriate get method instead.
#define WX_IMPLEMENT_OBJC_GET_SUPERCLASS(ObjcClass,ObjcSuperClass) \
template <> \
inline objc_class* wxObjcCompilerInformation<ObjcClass>::GetSuperclass() \
{ \
return objc_getClass(#ObjcSuperClass); \
}
// The WX_IMPLEMENT_OBJC_CLASS_NAME macro implements the template specialization
// of the sm_theClassName constant. As soon as this specialization is in place
// sizeof(sm_theClassName) will return the number of bytes at compile time.
#define WX_IMPLEMENT_OBJC_CLASS_NAME(ObjcClass) \
template <> \
const char wxObjcCompilerInformation<ObjcClass>::sm_theClassName[] = #ObjcClass;
// The WX_IMPLEMENT_GET_OBJC_CLASS macro combines all of these together and adds
// a global wx_GetObjcClass_ObjcClass() function.
#define WX_IMPLEMENT_GET_OBJC_CLASS(ObjcClass,ObjcSuperClass) \
WX_IMPLEMENT_OBJC_GET_COMPILED_CLASS(ObjcClass) \
WX_IMPLEMENT_OBJC_GET_SUPERCLASS(ObjcClass,ObjcSuperClass) \
WX_IMPLEMENT_OBJC_CLASS_NAME(ObjcClass) \
objc_class* wx_GetObjcClass_ ## ObjcClass() \
{ \
return wxObjcClassInitializer<ObjcClass>::Get(); \
}
// The WX_GET_OBJC_CLASS macro is intended to wrap the class name when the class
// is used as a message receiver (e.g. for calling class methods). When
// class name uniquifying is used, this calls the global function implemented
// in the Objective-C file containing the class @implementation.
#define WX_GET_OBJC_CLASS(ObjcClass) wx_GetObjcClass_ ## ObjcClass()
#else // wxUSE_OBJC_UNIQUIFYING
// Define WX_DECLARE_GET_OBJC_CLASS as nothing
#define WX_DECLARE_GET_OBJC_CLASS(ObjcClass,ObjcSuperClass)
// Define WX_IMPLEMENT_GET_OBJC_CLASS as nothing
#define WX_IMPLEMENT_GET_OBJC_CLASS(ObjcClass,ObjcSuperClass)
// Define WX_GET_OBJC_CLASS macro to output the class name and let the compiler do the normal thing
// The WX_GET_OBJC_CLASS macro is intended to wrap the class name when the class
// is used as a message receiver (e.g. for calling class methods). When
// class name uniquifying is not used, this is simply defined to be the class
// name which will allow the compiler to do the normal thing.
#define WX_GET_OBJC_CLASS(ObjcClass) ObjcClass
#endif // wxUSE_OBJC_UNIQUIFYING
#endif //ndef __WX_COCOA_OBJC_CLASS_H__

View File

@@ -61,7 +61,7 @@ public:
wxBitmap *GetStipple() const;
WX_NSColor GetNSColor();
int GetCocoaLineDash(const CGFloat **pattern);
int GetCocoaLineDash(const float **pattern);
};
#endif // __WX_COCOA_PEN_H__

View File

@@ -13,7 +13,6 @@
#define __WX_COCOA_RADIOBOX_H__
// #include "wx/cocoa/NSButton.h"
DECLARE_WXCOCOA_OBJC_CLASS(NSMatrix);
// ========================================================================
// wxRadioBox
@@ -22,9 +21,7 @@ class WXDLLEXPORT wxRadioBox: public wxControl, public wxRadioBoxBase// , protec
{
DECLARE_DYNAMIC_CLASS(wxRadioBox)
DECLARE_EVENT_TABLE()
// NOTE: We explicitly skip NSControl because our primary cocoa view is
// the NSBox but we want to receive action messages from the NSMatrix.
WX_DECLARE_COCOA_OWNER(NSBox,NSView,NSView)
// WX_DECLARE_COCOA_OWNER(NSButton,NSControl,NSView)
// ------------------------------------------------------------------------
// initialization
// ------------------------------------------------------------------------
@@ -95,7 +92,6 @@ public:
protected:
// Static boxes cannot be enabled/disabled
virtual void CocoaSetEnabled(bool enable) { }
virtual void CocoaTarget_action(void);
// ------------------------------------------------------------------------
// Implementation
// ------------------------------------------------------------------------
@@ -110,29 +106,7 @@ public:
virtual void SetString(unsigned int n, const wxString& label);
// change the individual radio button state
protected:
// We don't want the typical wxCocoaNSBox behavior because our real
// implementation is by using an NSMatrix as the NSBox's contentView.
WX_NSMatrix GetNSMatrix() const;
void AssociateNSBox(WX_NSBox theBox);
void DisassociateNSBox(WX_NSBox theBox);
virtual wxSize DoGetBestSize() const;
int GetRowForIndex(int n) const
{
if(m_windowStyle & wxRA_SPECIFY_COLS)
return n / GetMajorDim();
else
return n % GetMajorDim();
}
int GetColumnForIndex(int n) const
{
if(m_windowStyle & wxRA_SPECIFY_COLS)
return n % GetMajorDim();
else
return n / GetMajorDim();
}
};
#endif // __WX_COCOA_RADIOBOX_H__

View File

@@ -56,8 +56,6 @@ public:
// ------------------------------------------------------------------------
protected:
virtual void Cocoa_wxNSButtonAction(void);
private:
void Cocoa_DeselectOtherButtonsInTheGroup(void);
// ------------------------------------------------------------------------
// Implementation
// ------------------------------------------------------------------------

View File

@@ -14,11 +14,7 @@
#include "wx/generic/region.h"
#if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64)
typedef struct CGRect NSRect;
#else
typedef struct _NSRect NSRect;
#endif
class WXDLLEXPORT wxRegion : public wxRegionGeneric
{

View File

@@ -41,9 +41,6 @@ public:
long style = 0, const wxString& name = wxStaticBoxNameStr);
virtual ~wxStaticBox();
virtual void SetLabel(const wxString& label);
virtual wxString GetLabel() const;
// ------------------------------------------------------------------------
// Cocoa callbacks
// ------------------------------------------------------------------------

View File

@@ -52,8 +52,8 @@ protected:
// Implementation
// ------------------------------------------------------------------------
public:
virtual void SetLabel(const wxString& label);
virtual wxString GetLabel() const;
void SetLabel(const wxString& label);
};
#endif // __WX_COCOA_STATTEXT_H__
#endif
// __WX_COCOA_STATTEXT_H__

View File

@@ -17,12 +17,7 @@
// ========================================================================
// wxToolBar
// ========================================================================
#if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64)
typedef struct CGPoint NSPoint;
#else
typedef struct _NSPoint NSPoint;
#endif
class wxToolBarTool;
class wxToolBar : public wxToolBarBase

Some files were not shown because too many files have changed in this diff Show More