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      \

Reply via email to