Compare commits
1 Commits
wxPy-2.8.4
...
v2.8.3
Author | SHA1 | Date | |
---|---|---|---|
|
ddae8107b7 |
80
Makefile.in
80
Makefile.in
@@ -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).3
|
||||
LIBDIRNAME = $(wx_top_builddir)/lib
|
||||
WXREGEX_CFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) $(____SHARED) \
|
||||
$(CPPFLAGS) $(CFLAGS)
|
||||
@@ -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 = \
|
||||
@@ -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
|
||||
|
@@ -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
1
aclocal.m4
vendored
@@ -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
@@ -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 =====================
|
||||
])
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
@@ -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
@@ -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
@@ -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
|
||||
|
@@ -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>
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
159
configure.in
159
configure.in
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
|
||||
dnl initialization
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_INIT([wxWidgets], [2.8.4], [wx-dev@lists.wxwidgets.org])
|
||||
AC_INIT([wxWidgets], [2.8.3], [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=3
|
||||
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
73
debian/changelog
vendored
@@ -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
162
debian/control.in
vendored
@@ -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
8
debian/copyright
vendored
@@ -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
|
||||
|
6
debian/python-wxaddons.postinst
vendored
6
debian/python-wxaddons.postinst
vendored
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
#DEBHELPER#
|
||||
|
6
debian/python-wxaddons.prerm
vendored
6
debian/python-wxaddons.prerm
vendored
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
#DEBHELPER#
|
||||
|
15
debian/python-wxgtk-dbg.postinst
vendored
15
debian/python-wxgtk-dbg.postinst
vendored
@@ -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#
|
||||
|
||||
|
4
debian/python-wxgtk-dbg.prerm
vendored
4
debian/python-wxgtk-dbg.prerm
vendored
@@ -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#
|
||||
|
||||
|
15
debian/python-wxgtk.postinst
vendored
15
debian/python-wxgtk.postinst
vendored
@@ -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#
|
||||
|
||||
|
7
debian/python-wxgtk.prerm
vendored
7
debian/python-wxgtk.prerm
vendored
@@ -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#
|
||||
|
||||
|
6
debian/python-wxversion.postinst
vendored
6
debian/python-wxversion.postinst
vendored
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
#DEBHELPER#
|
||||
|
6
debian/python-wxversion.prerm
vendored
6
debian/python-wxversion.prerm
vendored
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
#DEBHELPER#
|
||||
|
617
debian/rules
vendored
617
debian/rules
vendored
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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)
|
||||
|
@@ -18,7 +18,7 @@ for i in "$@"; do
|
||||
carbon) PORT="mac" ;;
|
||||
cocoa) PORT="cocoa" ;;
|
||||
static) STATIC=1 ;;
|
||||
*)
|
||||
*)
|
||||
usage
|
||||
exit
|
||||
;;
|
||||
|
@@ -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
|
@@ -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
|
@@ -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
|
||||
|
@@ -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
|
129
docs/changes.txt
129
docs/changes.txt
@@ -88,128 +88,13 @@ 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).
|
||||
- Shut down the sockets gracefully (Sergio Aguayo)
|
||||
- Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal)
|
||||
|
||||
wxMac
|
||||
|
||||
@@ -221,10 +106,6 @@ 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 +125,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:
|
||||
|
||||
|
@@ -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}}
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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
736
docs/latex/wx/dcsvg.tex
Normal 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
|
@@ -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}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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}}
|
||||
|
@@ -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).
|
||||
|
||||
|
@@ -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.
|
||||
|
@@ -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}}
|
||||
|
@@ -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}
|
||||
|
@@ -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.3: A portable C++ and Python GUI toolkit}
|
||||
\winhelponly{\author{by Julian Smart et al
|
||||
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
||||
}}
|
||||
|
@@ -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}}
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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}
|
||||
|
||||
|
@@ -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}
|
||||
|
||||
|
@@ -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}
|
||||
|
||||
|
@@ -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}
|
||||
|
@@ -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}}
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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:
|
||||
|
@@ -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}
|
||||
|
||||
|
@@ -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}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
wxWidgets 2.8.4
|
||||
wxWidgets 2.8.3
|
||||
---------------------------------------------------------
|
||||
|
||||
Welcome to wxWidgets, a sophisticated cross-platform C++
|
||||
|
@@ -17,7 +17,6 @@
|
||||
#include "wx/stream.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/animdecod.h"
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
|
||||
class /*WXDLLEXPORT*/ wxANIFrameInfo;
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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(); }
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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__
|
||||
|
@@ -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() { }
|
||||
};
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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:
|
||||
|
@@ -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__
|
@@ -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__
|
@@ -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
|
||||
|
@@ -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__
|
@@ -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__
|
||||
|
@@ -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__
|
||||
|
@@ -56,8 +56,6 @@ public:
|
||||
// ------------------------------------------------------------------------
|
||||
protected:
|
||||
virtual void Cocoa_wxNSButtonAction(void);
|
||||
private:
|
||||
void Cocoa_DeselectOtherButtonsInTheGroup(void);
|
||||
// ------------------------------------------------------------------------
|
||||
// Implementation
|
||||
// ------------------------------------------------------------------------
|
||||
|
@@ -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
|
||||
{
|
||||
|
@@ -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
|
||||
// ------------------------------------------------------------------------
|
||||
|
@@ -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__
|
||||
|
@@ -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
|
||||
|
@@ -106,8 +106,6 @@ public:
|
||||
virtual void SetTitle( const wxString& title);
|
||||
virtual wxString GetTitle() const;
|
||||
|
||||
// Default button (item)
|
||||
wxWindow *SetDefaultItem(wxWindow *win);
|
||||
|
||||
// Things I may/may not do
|
||||
// virtual void SetIcon(const wxIcon& icon);
|
||||
|
@@ -1,38 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/cocoa/trackingrectmanager.h
|
||||
// Purpose: wxCocoaTrackingRectManager
|
||||
// Notes: Source in window.mm
|
||||
// Author: David Elliott <dfe@cox.net>
|
||||
// Modified by:
|
||||
// Created: 2007/05/02
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2007 Software 2000 Ltd.
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#ifndef __WX_COCOA_TRACKINGRECTMANAGER_H__
|
||||
#define __WX_COCOA_TRACKINGRECTMANAGER_H__
|
||||
|
||||
#include <CoreFoundation/CFRunLoop.h>
|
||||
|
||||
class wxCocoaTrackingRectManager
|
||||
{
|
||||
DECLARE_NO_COPY_CLASS(wxCocoaTrackingRectManager)
|
||||
public:
|
||||
wxCocoaTrackingRectManager(wxWindow *window);
|
||||
void ClearTrackingRect();
|
||||
void BuildTrackingRect();
|
||||
void RebuildTrackingRect();
|
||||
bool IsOwnerOfEvent(NSEvent *anEvent);
|
||||
~wxCocoaTrackingRectManager();
|
||||
void BeginSynthesizingEvents();
|
||||
void StopSynthesizingEvents();
|
||||
protected:
|
||||
wxWindow *m_window;
|
||||
bool m_isTrackingRectActive;
|
||||
int m_trackingRectTag;
|
||||
CFRunLoopObserverRef m_runLoopObserver;
|
||||
private:
|
||||
wxCocoaTrackingRectManager();
|
||||
};
|
||||
|
||||
#endif // ndef __WX_COCOA_TRACKINGRECTMANAGER_H__
|
@@ -22,7 +22,6 @@ DECLARE_WXCOCOA_OBJC_CLASS(NSAffineTransform);
|
||||
|
||||
class wxWindowCocoaHider;
|
||||
class wxWindowCocoaScrollView;
|
||||
class wxCocoaTrackingRectManager;
|
||||
|
||||
// ========================================================================
|
||||
// wxWindowCocoa
|
||||
@@ -34,7 +33,6 @@ class WXDLLEXPORT wxWindowCocoa: public wxWindowBase, protected wxCocoaNSView
|
||||
DECLARE_EVENT_TABLE()
|
||||
friend wxWindow *wxWindowBase::GetCapture();
|
||||
friend class wxWindowCocoaScrollView;
|
||||
friend class wxCocoaTrackingRectManager;
|
||||
// ------------------------------------------------------------------------
|
||||
// initialization
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -95,11 +93,6 @@ protected:
|
||||
void InitMouseEvent(wxMouseEvent &event, WX_NSEvent cocoaEvent);
|
||||
virtual wxWindow* GetWxWindow() const;
|
||||
virtual void Cocoa_FrameChanged(void);
|
||||
#if 0 // ABI incompatibility
|
||||
virtual void Cocoa_synthesizeMouseMoved(void);
|
||||
#else
|
||||
void Cocoa_synthesizeMouseMoved(void);
|
||||
#endif
|
||||
virtual bool Cocoa_drawRect(const NSRect &rect);
|
||||
virtual bool Cocoa_mouseDown(WX_NSEvent theEvent);
|
||||
virtual bool Cocoa_mouseDragged(WX_NSEvent theEvent);
|
||||
@@ -114,18 +107,11 @@ protected:
|
||||
virtual bool Cocoa_otherMouseDragged(WX_NSEvent theEvent);
|
||||
virtual bool Cocoa_otherMouseUp(WX_NSEvent theEvent);
|
||||
virtual bool Cocoa_resetCursorRects();
|
||||
#if 0 // ABI incompatibility
|
||||
virtual bool Cocoa_viewDidMoveToWindow();
|
||||
virtual bool Cocoa_viewWillMoveToWindow(WX_NSWindow newWindow);
|
||||
#endif
|
||||
void SetNSView(WX_NSView cocoaNSView);
|
||||
WX_NSView m_cocoaNSView;
|
||||
wxWindowCocoaHider *m_cocoaHider;
|
||||
wxWindowCocoaScrollView *m_wxCocoaScrollView;
|
||||
bool m_isInPaint;
|
||||
#if 0 // ABI incompatibility
|
||||
wxCocoaTrackingRectManager *m_visibleTrackingRectManager;
|
||||
#endif
|
||||
static wxWindow *sm_capturedWindow;
|
||||
virtual void CocoaReplaceView(WX_NSView oldView, WX_NSView newView);
|
||||
void SetInitialFrameRect(const wxPoint& pos, const wxSize& size);
|
||||
@@ -155,8 +141,6 @@ public:
|
||||
virtual void SetFocus();
|
||||
// Warp the pointer the given position
|
||||
virtual void WarpPointer(int x_pos, int y_pos) ;
|
||||
// Change the window's cursor
|
||||
virtual bool SetCursor( const wxCursor &cursor );
|
||||
// Send the window a refresh event
|
||||
virtual void Refresh(bool eraseBack = true, const wxRect *rect = NULL);
|
||||
// Set/get the window's font
|
||||
|
@@ -84,9 +84,9 @@ public:
|
||||
{
|
||||
// we don't need to know sizeof(long) here because we assume that the three
|
||||
// least significant bytes contain the R, G and B values
|
||||
Set((ChannelType)(0xFF & colRGB),
|
||||
(ChannelType)(0xFF & (colRGB >> 8)),
|
||||
(ChannelType)(0xFF & (colRGB >> 16)));
|
||||
Set((ChannelType)colRGB,
|
||||
(ChannelType)(colRGB >> 8),
|
||||
(ChannelType)(colRGB >> 16));
|
||||
}
|
||||
|
||||
|
||||
|
@@ -647,7 +647,7 @@ public:
|
||||
// variable has been initialized before the call.
|
||||
// NOTE: It is not in constructor so the derived class doesn't need to redefine
|
||||
// a default constructor of its own.
|
||||
virtual void Init() { }
|
||||
virtual void Init() { };
|
||||
|
||||
virtual ~wxComboPopup();
|
||||
|
||||
|
@@ -95,14 +95,7 @@ private:
|
||||
DECLARE_NO_ASSIGN_CLASS(wxConvAuto)
|
||||
};
|
||||
|
||||
#else // !wxUSE_WCHAR_T
|
||||
|
||||
// it doesn't matter how we define it in this case as it's unused anyhow, but
|
||||
// do define it to allow the code using wxConvAuto() as default argument (this
|
||||
// is done in many places) to compile
|
||||
typedef wxMBConv wxConvAuto;
|
||||
|
||||
#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
|
||||
#endif // wxUSE_WCHAR_T
|
||||
|
||||
#endif // _WX_CONVAUTO_H_
|
||||
|
||||
|
@@ -1678,7 +1678,7 @@ inline time_t wxDateTime::GetTicks() const
|
||||
return (time_t)-1;
|
||||
}
|
||||
|
||||
return (time_t)((m_time / (long)TIME_T_FACTOR).ToLong()) + WX_TIME_BASE_OFFSET;
|
||||
return (time_t)((m_time / (long)TIME_T_FACTOR).GetLo())+WX_TIME_BASE_OFFSET ;
|
||||
}
|
||||
|
||||
inline bool wxDateTime::SetToLastWeekDay(WeekDay weekday,
|
||||
|
@@ -326,38 +326,38 @@ class WXDLLIMPEXP_ODBC wxDbConnectInf
|
||||
void FreeHenv();
|
||||
|
||||
// Accessors
|
||||
const HENV &GetHenv() { return Henv; }
|
||||
const HENV &GetHenv() { return Henv; };
|
||||
|
||||
const wxChar *GetDsn() { return Dsn; }
|
||||
const wxChar *GetDsn() { return Dsn; };
|
||||
|
||||
const wxChar *GetUid() { return Uid; }
|
||||
const wxChar *GetUserID() { return Uid; }
|
||||
const wxChar *GetUid() { return Uid; };
|
||||
const wxChar *GetUserID() { return Uid; };
|
||||
|
||||
const wxChar *GetAuthStr() { return AuthStr; }
|
||||
const wxChar *GetPassword() { return AuthStr; }
|
||||
const wxChar *GetAuthStr() { return AuthStr; };
|
||||
const wxChar *GetPassword() { return AuthStr; };
|
||||
|
||||
const wxChar *GetConnectionStr() { return ConnectionStr; }
|
||||
bool UseConnectionStr() { return useConnectionStr; }
|
||||
const wxChar *GetConnectionStr() { return ConnectionStr; };
|
||||
bool UseConnectionStr() { return useConnectionStr; };
|
||||
|
||||
const wxChar *GetDescription() { return Description; }
|
||||
const wxChar *GetFileType() { return FileType; }
|
||||
const wxChar *GetDefaultDir() { return DefaultDir; }
|
||||
const wxChar *GetDescription() { return Description; };
|
||||
const wxChar *GetFileType() { return FileType; };
|
||||
const wxChar *GetDefaultDir() { return DefaultDir; };
|
||||
|
||||
void SetHenv(const HENV henv) { Henv = henv; }
|
||||
void SetHenv(const HENV henv) { Henv = henv; };
|
||||
|
||||
void SetDsn(const wxString &dsn);
|
||||
|
||||
void SetUserID(const wxString &userID);
|
||||
void SetUid(const wxString &uid) { SetUserID(uid); }
|
||||
void SetUid(const wxString &uid) { SetUserID(uid); };
|
||||
|
||||
void SetPassword(const wxString &password);
|
||||
void SetAuthStr(const wxString &authstr) { SetPassword(authstr); }
|
||||
void SetAuthStr(const wxString &authstr) { SetPassword(authstr); };
|
||||
|
||||
void SetConnectionStr(const wxString &connectStr);
|
||||
|
||||
void SetDescription(const wxString &desc) { Description = desc; }
|
||||
void SetFileType(const wxString &fileType) { FileType = fileType; }
|
||||
void SetDefaultDir(const wxString &defDir) { DefaultDir = defDir; }
|
||||
void SetDescription(const wxString &desc) { Description = desc; };
|
||||
void SetFileType(const wxString &fileType) { FileType = fileType; };
|
||||
void SetDefaultDir(const wxString &defDir) { DefaultDir = defDir; };
|
||||
}; // class wxDbConnectInf
|
||||
|
||||
|
||||
@@ -558,8 +558,8 @@ private:
|
||||
|
||||
public:
|
||||
|
||||
void setCached(bool cached) { dbIsCached = cached; } // This function must only be called by wxDbGetConnection() and wxDbCloseConnections!!!
|
||||
bool IsCached() { return dbIsCached; }
|
||||
void setCached(bool cached) { dbIsCached = cached; }; // This function must only be called by wxDbGetConnection() and wxDbCloseConnections!!!
|
||||
bool IsCached() { return dbIsCached; };
|
||||
|
||||
bool GetDataTypeInfo(SWORD fSqlType, wxDbSqlTypeInfo &structSQLTypeInfo)
|
||||
{ return getDataTypeInfo(fSqlType, structSQLTypeInfo); }
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user