Package: wxwindows2.4
Severity: wishlist
Tags: patch
Hi,
the included patch can be used to build wxGTK contrib debug libraries. I
needed to patch the xmlres source code, since there was no RTTI for
wxXmlResourceHandler. I wish the contrib debug libraries can be added,
since they are needed in order to use the debug libraries with a program that
is linked to for example libwx_gtk_xrc-2.4.so.1. You can't mix wxWindows code
with and without __WXDEBUG__.
Regards,
Mikael Magnusson
-- System Information:
Debian Release: 3.1
APT prefers stable
APT policy: (800, 'stable'), (500, 'testing'), (100, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.11-vserver-k7
Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)
diff -ur orig/wxwindows2.4-2.4.4/contrib/include/wx/xrc/xmlres.h
wxwindows2.4-2.4.4/contrib/include/wx/xrc/xmlres.h
--- orig/wxwindows2.4-2.4.4/contrib/include/wx/xrc/xmlres.h 2005-07-11
17:13:34.000000000 +0200
+++ wxwindows2.4-2.4.4/contrib/include/wx/xrc/xmlres.h 2005-08-05
16:12:09.000000000 +0200
@@ -305,6 +305,7 @@
class WXXMLDLLEXPORT wxXmlResourceHandler : public wxObject
{
+DECLARE_ABSTRACT_CLASS(wxXmlResourceHandler)
public:
// Constructor.
wxXmlResourceHandler();
diff -ur orig/wxwindows2.4-2.4.4/contrib/src/xrc/xmlres.cpp
wxwindows2.4-2.4.4/contrib/src/xrc/xmlres.cpp
--- orig/wxwindows2.4-2.4.4/contrib/src/xrc/xmlres.cpp 2005-07-11
17:13:46.000000000 +0200
+++ wxwindows2.4-2.4.4/contrib/src/xrc/xmlres.cpp 2005-08-05
20:22:01.000000000 +0200
@@ -633,6 +633,7 @@
+IMPLEMENT_ABSTRACT_CLASS(wxXmlResourceHandler, wxObject)
wxXmlResourceHandler::wxXmlResourceHandler()
: m_node(NULL), m_parent(NULL), m_instance(NULL),
diff -ur orig/wxwindows2.4-2.4.4/debian/control
wxwindows2.4-2.4.4/debian/control
--- orig/wxwindows2.4-2.4.4/debian/control 2005-07-11 17:15:06.000000000
+0200
+++ wxwindows2.4-2.4.4/debian/control 2005-08-05 14:15:18.000000000 +0200
@@ -171,6 +171,25 @@
Install this package if you wish to compile applications that use the
contrib libs from the wxWindows source tree.
+Package: libwxgtk2.4-contrib-dbg
+Architecture: any
+Section: libdevel
+Priority: extra
+Depends: wxwin2.4-headers (= ${Source-Version}), libwxgtk2.4-dbg (=
${Source-Version}), libc6-dev
+Conflicts: libwxgtk-contrib-dbg
+Replaces: libwxgtk-contrib-dbg
+Provides: libwxgtk-contrib-dbg
+Description: wxWindows Cross-platform C++ GUI toolkit (contrib debug libs)
+ wxWindows is a class library for C++ providing GUI (Graphical User
+ Interface) and other facilities on more than one platform. Version 2.4
+ currently supports subsets of GTK+, Motif, and MS Windows.
+ .
+ This package provides a debug version of the wxGTK contrib libraries.
+ It is compiled both with -g for normal debugger tracing and with the
+ __WXDEBUG__ flag which provides many internal checks by wxWindows
+ itself that are not performed on apps compiled with the 'release
+ version' libs in the -dev package.
+
Package: wxwin2.4-headers
Architecture: any
Section: devel
diff -ur orig/wxwindows2.4-2.4.4/debian/control.in
wxwindows2.4-2.4.4/debian/control.in
--- orig/wxwindows2.4-2.4.4/debian/control.in 2005-07-11 17:14:30.000000000
+0200
+++ wxwindows2.4-2.4.4/debian/control.in 2005-08-05 14:10:43.000000000
+0200
@@ -171,6 +171,25 @@
Install this package if you wish to compile applications that use the
contrib libs from the wxWindows source tree.
+Package: libwxgtk=V-contrib-dbg
+Architecture: any
+Section: libdevel
+Priority: extra
+Depends: wxwin=V-headers (= ${Source-Version}), libwxgtk=V-dbg (=
${Source-Version}), libc6-dev
+Conflicts: libwxgtk-contrib-dbg
+Replaces: libwxgtk-contrib-dbg
+Provides: libwxgtk-contrib-dbg
+Description: wxWindows Cross-platform C++ GUI toolkit (contrib debug libs)
+ wxWindows 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 debug version of the wxGTK contrib libraries.
+ It is compiled both with -g for normal debugger tracing and with the
+ __WXDEBUG__ flag which provides many internal checks by wxWindows
+ itself that are not performed on apps compiled with the 'release
+ version' libs in the -dev package.
+
Package: wxwin=V-headers
Architecture: any
Section: devel
diff -ur orig/wxwindows2.4-2.4.4/debian/rules wxwindows2.4-2.4.4/debian/rules
--- orig/wxwindows2.4-2.4.4/debian/rules 2005-07-11 17:14:30.000000000
+0200
+++ wxwindows2.4-2.4.4/debian/rules 2005-08-05 20:24:04.000000000 +0200
@@ -52,6 +52,7 @@
package_gtk_py_lib = libwxgtk$(sorelease)-python
package_gtk_py = wxpython$(sorelease)
package_gtk_contrib = libwxgtk$(sorelease)-contrib
+package_gtk_contrib_dbg = libwxgtk$(release)-contrib-dbg
package_gtk_contrib_dev = libwxgtk$(release)-contrib-dev
package_headers = wxwin$(release)-headers
package_i18n = wxwin$(release)-i18n
@@ -74,6 +75,7 @@
objdir_gtk_debug = objs_gtk_d
objdir_gtk_install = objs_gtk_install
objdir_gtk_contrib_install = objs_gtk_contrib_install
+objdir_gtk_contrib_dbg_install = objs_gtk_contrib_dbg_install
objdir_doc_cruft = objs_doc_con
objdir_doc = docs/wxWindows-manual.html
objdir_examples = docs/examples
@@ -92,7 +94,7 @@
$(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \
$(objdir_wxbase_msw_shared) $(objdir_wxbase_msw_static) \
$(objdir_wxbase_msw_dbg) $(objdir_msw_shared) $(objdir_msw_static) \
- $(objdir_msw_dbg)
+ $(objdir_msw_dbg) $(objdir_gtk_contrib_dbg_install)
# note that the i18n package is actually arch indep (once built)
# but must be built (and installed) during the arch any phase as
@@ -102,7 +104,7 @@
# Build stamps:
build_arch_stamps = build-wxbase-shared-stamp build-wxbase-debug-stamp \
build-gtk-shared-stamp build-gtk-debug-stamp \
- build-contrib-shared-stamp \
+ build-contrib-shared-stamp build-contrib-debug-stamp \
build-gtk-py-stamp build-i18n-stamp
build_indep_stamps = build-examples-stamp build-doc-stamp
@@ -119,7 +121,8 @@
# Install targets:
install_all_arch = install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \
- install-gtk-contrib install-gtk-contrib-dev install-gtk-py \
+ install-gtk-contrib install-gtk-contrib-dev \
+ install-gtk-contrib-dbg install-gtk-py \
install-headers install-i18n
install_all_indep = install-examples install-doc
@@ -185,6 +188,11 @@
sed -e 's/=V/$(release)/g' < debian/libwxgtk-contrib-dev.$$f \
> debian/$(package_gtk_contrib_dev).$$f; \
done;
+# @for f in ; do \
+# echo "generating control file $(package_gtk_contrib_dbg).$$f"; \
+# sed -e 's/=V/$(release)/g' < debian/libwxgtk-contrib-dbg.$$f \
+# > debian/$(package_gtk_contrib_dbg).$$f; \
+# done;
@for f in docs doc-base; do \
echo "generating control file $(package_doc).$$f"; \
sed -e 's/=V/$(release)/g' < debian/wxwin-doc.$$f \
@@ -334,6 +342,12 @@
touch $@
+build-contrib-debug-stamp: build-gtk-debug-stamp
+ dh_testdir
+ cd $(objdir_gtk_debug)/contrib/src && $(FAST_MAKE)
+ touch $@
+
+
purge-dbg-py:
@if [ ! -e build-gtk-py-stamp ]; then \
$(MAKE) -f debian/rules clean-py; \
@@ -546,6 +560,7 @@
rm -f debian/$(package_gtk_py).*
rm -f debian/$(package_gtk_contrib).*
rm -f debian/$(package_gtk_contrib_dev).*
+ rm -f debian/$(package_gtk_contrib_dbg).*
rm -f debian/$(package_headers).*
rm -f debian/$(package_i18n).*
rm -f debian/$(package_doc).*
@@ -654,6 +669,22 @@
dh_link usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrc.1
\
usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrcedit.1
+install-gtk-contrib-dbg-stamp:
+ dh_testdir
+ mkdir -p $(objdir_gtk_contrib_dbg_install)/lib
+ cd $(objdir_gtk_debug)/contrib/src \
+ && $(MAKE) install
prefix=`pwd`/../../../$(objdir_gtk_contrib_dbg_install)
+ touch $@
+
+install-gtk-contrib-dbg: DH_OPTIONS=-p$(package_gtk_contrib_dbg)
+install-gtk-contrib-dbg: build-contrib-debug-stamp
install-gtk-contrib-dbg-stamp
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs usr/share/lintian/overrides
+ dh_install $(objdir_gtk_contrib_dbg_install)/lib/
usr
+ cp debian/lintian-override
debian/$(package_gtk_contrib_dbg)/usr/share/lintian/overrides/$(package_gtk_contrib_dbg)
+
install-gtk-py-lib: DH_OPTIONS=-p$(package_gtk_py_lib)
install-gtk-py-lib: build-gtk-py-stamp
dh_testdir
@@ -822,9 +853,11 @@
@# 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) \
+ @# Ignore "I have no package to build"
+ -dh_strip -N$(package_gtk_dbg) -N$(package_wxbase_dbg) \
-N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) \
- -N$(package_msw_dev) -N$(package_msw_dbg)
+ -N$(package_msw_dev) -N$(package_msw_dbg) \
+ -N$(package_gtk_contrib_dbg)
dh_compress
dh_fixperms
@@ -897,6 +930,9 @@
binary-gtk-dbg: control-files-stamp install-gtk-dbg install-headers
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg)
-p$(package_headers)" binary-common
+binary-gtk-contrib-dbg: control-files-stamp install-gtk-contrib-dbg
+ $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_contrib_dbg)"
binary-common
+
# docs package
binary-doc: control-files-stamp install-doc
@@ -908,7 +944,7 @@
.PHONY: build build_all build_arch \
clean clean-py purge-release-py purge-dbg-py \
- binary-indep binary-arch binary binary-common \
+ binary-indep binary-arch binary binary-common \
binary-gtk binary-gtk-dev binary-gtk-dbg \
binary-wxbase binary-wxbase-dev binary-wxbase-dbg \
binary-doc binary-cross binary-dbg-py \
@@ -916,6 +952,7 @@
install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \
install-gtk-contrib install-gtk-contrib-dev \
+ install-gtk-contrib-dbg \
install-gtk-py install-gtk-py-lib install-gtk-dbg-py \
install-headers install-i18n install-doc install-examples \
install-wxbase-msw-dev install-msw-dev install-headers-msw \