X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/54abcc91d080d15150a2dac45d85204d65090832..9fd9e47a93dfcdd99c2722e288a0f28a51ce6f5f:/debian/rules diff --git a/debian/rules b/debian/rules index e7769cb7b5..bc44d142a2 100755 --- a/debian/rules +++ b/debian/rules @@ -16,6 +16,9 @@ python_dir:=python$(shell python -c "import sys;print sys.version[:3]") cross_host=i586-mingw32msvc cross_build=$(shell ./config.guess) +config_cache=../config_deb.cache +config_cache_cross=../config_deb_cross.cache + # Packages to build: package_wxbase_lib=libwxbase$(release) package_wxbase_dev=libwxbase$(release)-dev @@ -34,7 +37,9 @@ package_examples=wxwin$(release)-examples package_gtk_univ=libwxgtk$(release)-univ package_wxbase_msw_dev=libwxbase-msw$(release)-dev +package_wxbase_msw_dbg=libwxbase-msw$(release)-dbg package_msw_dev=libwxmsw$(release)-dev +package_msw_dbg=libwxmsw$(release)-dbg package_headers_msw=wxwin$(release)-headers-msw # Build directories: @@ -51,13 +56,18 @@ objdir_i18n=locale objdir_gtk_univ=objs_gtk_univ +objdir_wxbase_msw_shared=objs_wxbase_msw_sh objdir_wxbase_msw_static=objs_wxbase_msw_st +objdir_wxbase_msw_dbg=objs_wxbase_msw_d +objdir_msw_shared=objs_msw_sh objdir_msw_static=objs_msw_st +objdir_msw_dbg=objs_msw_d objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \ $(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) $(objdir_gtk_univ) \ $(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \ - $(objdir_wxbase_msw_static) $(objdir_msw_static) + $(objdir_wxbase_msw_shared) $(objdir_wxbase_msw_static) $(objdir_wxbase_msw_dbg) \ + $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) # note that the i18n package is actually arch indep (once built) # but must be built (and installed) during the arch any phase as @@ -73,7 +83,9 @@ build_arch_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \ build_indep_stamps=build-examples-stamp build-doc-stamp -build_cross_stamps=build-wxbase-msw-dev-stamp build-msw-dev-stamp +build_cross_stamps=build-wxbase-msw-shared-stamp build-wxbase-msw-static-stamp \ + build-wxbase-msw-dbg-stamp build-msw-shared-stamp \ + build-msw-static-stamp build-msw-dbg-stamp build_stamps_native=$(build_arch_stamps) $(build_indep_stamps) @@ -88,7 +100,7 @@ install_all_arch=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \ install_all_indep=install-examples install-doc -install_all_cross=install-wxbase-msw-dev install-msw-dev install-headers-msw +install_all_cross=install-wxbase-msw-dev install-wxbase-msw-dbg install-msw-dev install-msw-dbg install-headers-msw install_all_native=$(install_all_arch) $(install_all_indep) @@ -175,11 +187,21 @@ control-files-stamp: debian/control sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxbase-msw-dev.$$f \ > debian/$(package_wxbase_msw_dev).$$f; \ done; + @for f in dirs links postinst prerm; do \ + echo "generating control file $(package_wxbase_msw_dbg).$$f"; \ + sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxbase-msw-dbg.$$f \ + > debian/$(package_wxbase_msw_dbg).$$f; \ + done; @for f in dirs links postinst prerm; do \ echo "generating control file $(package_msw_dev).$$f"; \ sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dev.$$f \ > debian/$(package_msw_dev).$$f; \ done; + @for f in dirs links postinst prerm; do \ + echo "generating control file $(package_msw_dbg).$$f"; \ + sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dbg.$$f \ + > debian/$(package_msw_dbg).$$f; \ + done; @for f in dirs; do \ echo "generating control file $(package_headers_msw).$$f"; \ sed -e 's/=H/$(cross_host)/g' < debian/wxwin-headers-msw.$$f \ @@ -204,7 +226,7 @@ build-wxbase-shared-stamp: mkdir -p $(objdir_wxbase_shared) cd $(objdir_wxbase_shared) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --disable-gui \ --enable-soname \ --with-zlib=sys \ @@ -216,7 +238,7 @@ build-wxbase-static-stamp: mkdir -p $(objdir_wxbase_static) cd $(objdir_wxbase_static) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --disable-gui \ --disable-shared \ --with-zlib=sys \ @@ -228,7 +250,7 @@ build-wxbase-debug-stamp: mkdir -p $(objdir_wxbase_debug) cd $(objdir_wxbase_debug) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --disable-gui \ --enable-debug \ --enable-soname \ @@ -241,7 +263,7 @@ build-gtk-shared-stamp: mkdir -p $(objdir_gtk_shared) cd $(objdir_gtk_shared) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --with-gtk \ --with-opengl \ --enable-soname \ @@ -257,7 +279,7 @@ build-gtk-static-stamp: mkdir -p $(objdir_gtk_static) cd $(objdir_gtk_static) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --with-gtk \ --with-opengl \ --disable-shared \ @@ -273,7 +295,7 @@ build-gtk-debug-stamp: mkdir -p $(objdir_gtk_debug) cd $(objdir_gtk_debug) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --with-gtk \ --with-opengl \ --enable-debug \ @@ -290,7 +312,7 @@ build-gtk-univ-stamp: mkdir -p $(objdir_gtk_univ) cd $(objdir_gtk_univ) \ && ../configure --prefix=/usr \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache) \ --with-gtk \ --with-opengl \ --enable-universal \ @@ -372,12 +394,24 @@ build-i18n-stamp: build-gtk-shared-stamp && $(MAKE) allmo touch $@ -build-wxbase-msw-dev-stamp: +build-wxbase-msw-shared-stamp: + dh_testdir + mkdir -p $(objdir_wxbase_msw_shared) + cd $(objdir_wxbase_msw_shared) \ + && ../configure --prefix=/usr/$(cross_host) \ + --cache-file=$(config_cache_cross) \ + --host=$(cross_host) \ + --build=$(cross_build) \ + --disable-gui \ + && $(MAKE) + touch $@ + +build-wxbase-msw-static-stamp: dh_testdir mkdir -p $(objdir_wxbase_msw_static) cd $(objdir_wxbase_msw_static) \ && ../configure --prefix=/usr/$(cross_host) \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache_cross) \ --host=$(cross_host) \ --build=$(cross_build) \ --disable-gui \ @@ -385,25 +419,61 @@ build-wxbase-msw-dev-stamp: && $(MAKE) touch $@ -build-msw-dev-stamp: +# Note this builds dll only, since wxmsw static debug is > 130MB ! +build-wxbase-msw-dbg-stamp: + dh_testdir + mkdir -p $(objdir_wxbase_msw_dbg) + cd $(objdir_wxbase_msw_dbg) \ + && ../configure --prefix=/usr/$(cross_host) \ + --cache-file=$(config_cache_cross) \ + --host=$(cross_host) \ + --build=$(cross_build) \ + --disable-gui \ + --enable-debug \ + && $(MAKE) + touch $@ + +build-msw-shared-stamp: + dh_testdir + mkdir -p $(objdir_msw_shared) + cd $(objdir_msw_shared) \ + && ../configure --prefix=/usr/$(cross_host) \ + --cache-file=$(config_cache_cross) \ + --host=$(cross_host) \ + --build=$(cross_build) \ + && $(MAKE) + touch $@ + +build-msw-static-stamp: dh_testdir mkdir -p $(objdir_msw_static) cd $(objdir_msw_static) \ && ../configure --prefix=/usr/$(cross_host) \ - --cache-file=../config_deb.cache \ + --cache-file=$(config_cache_cross) \ --host=$(cross_host) \ --build=$(cross_build) \ - --with-mingw \ --disable-shared \ && $(MAKE) touch $@ +build-msw-dbg-stamp: + dh_testdir + mkdir -p $(objdir_msw_dbg) + cd $(objdir_msw_dbg) \ + && ../configure --prefix=/usr/$(cross_host) \ + --cache-file=$(config_cache_cross) \ + --host=$(cross_host) \ + --build=$(cross_build) \ + --enable-debug \ + && $(MAKE) + touch $@ + clean: debian/control dh_testdir dh_testroot - rm -rf config_deb.cache control-files-stamp $(build_stamps) $(objdirs) + rm -rf config_deb.cache config_deb_cross.cache control-files-stamp $(build_stamps) $(objdirs) rm -f docs/lgpl.txt rm -f docs/latex/wx/manual.bb rm -f $(objdir_i18n)/*.mo @@ -412,6 +482,7 @@ clean: debian/control && ./setup.py clean \ && rm -rf licence \ && rm -rf build \ + && rm -rf contrib/gizmos/contrib \ && rm -rf contrib/ogl/contrib \ && rm -rf contrib/stc/contrib \ && rm -rf contrib/xrc/contrib \ @@ -433,7 +504,9 @@ clean: debian/control rm -f debian/$(package_doc).* rm -f debian/$(package_examples).* rm -f debian/$(package_wxbase_msw_dev).* + rm -f debian/$(package_wxbase_msw_dbg).* rm -f debian/$(package_msw_dev).* + rm -f debian/$(package_msw_dbg).* rm -f debian/$(package_headers_msw).* install_arch: build_arch $(install_all_arch) @@ -505,6 +578,7 @@ install-gtk-univ: build-gtk-univ-stamp dh_installdirs cp -a $(objdir_gtk_univ)/lib/* debian/$(package_gtk_univ)/usr/lib cp $(objdir_gtk_univ)/wxgtkuniv-$(release)-config debian/$(package_gtk_univ)/usr/bin/ + cp debian/lintian-override debian/$(package_gtk_univ)/usr/share/lintian/overrides/$(package_gtk_univ) install-gtk-contrib: DH_OPTIONS=-p$(package_gtk_contrib) install-gtk-contrib: build-contrib-shared-stamp @@ -574,25 +648,49 @@ install-examples: build-examples-stamp dh_installdirs install-wxbase-msw-dev: DH_OPTIONS=-p$(package_wxbase_msw_dev) -install-wxbase-msw-dev: build-wxbase-msw-dev-stamp +install-wxbase-msw-dev: build-wxbase-msw-shared-stamp build-wxbase-msw-static-stamp dh_testdir dh_testroot dh_clean -k dh_installdirs - cp -a $(objdir_wxbase_msw_static)/lib/* debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib - cp $(objdir_wxbase_msw_static)/wxbase-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dev)/usr/bin/ + cp -a $(objdir_wxbase_msw_shared)/lib/* debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib + cp -a $(objdir_wxbase_msw_static)/lib/*.a debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib + cp $(objdir_wxbase_msw_shared)/wxbase-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dev)/usr/bin/ $(cross_host)-strip --strip-debug debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib/*.a +install-wxbase-msw-dbg: DH_OPTIONS=-p$(package_wxbase_msw_dbg) +install-wxbase-msw-dbg: build-wxbase-msw-dbg-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + cp -a $(objdir_wxbase_msw_dbg)/lib/* debian/$(package_wxbase_msw_dbg)/usr/$(cross_host)/lib + cp $(objdir_wxbase_msw_dbg)/wxbased-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dbg)/usr/bin/ + # No static lib, they're freakin' huge! + #$(cross_host)-strip --strip-debug debian/$(package_wxbase_msw_dbg)/usr/$(cross_host)/lib/*.a + install-msw-dev: DH_OPTIONS=-p$(package_msw_dev) -install-msw-dev: build-msw-dev-stamp +install-msw-dev: build-msw-shared-stamp build-msw-static-stamp dh_testdir dh_testroot dh_clean -k dh_installdirs - cp -a $(objdir_msw_static)/lib/* debian/$(package_msw_dev)/usr/$(cross_host)/lib - cp $(objdir_msw_static)/wxmsw-$(release)-$(cross_host)-config debian/$(package_msw_dev)/usr/bin/ + cp -a $(objdir_msw_shared)/lib/* debian/$(package_msw_dev)/usr/$(cross_host)/lib + cp -a $(objdir_msw_static)/lib/*.a debian/$(package_msw_dev)/usr/$(cross_host)/lib + cp $(objdir_msw_shared)/wxmsw-$(release)-$(cross_host)-config debian/$(package_msw_dev)/usr/bin/ $(cross_host)-strip --strip-debug debian/$(package_msw_dev)/usr/$(cross_host)/lib/*.a +install-msw-dbg: DH_OPTIONS=-p$(package_msw_dbg) +install-msw-dbg: build-msw-dbg-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + cp -a $(objdir_msw_dbg)/lib/* debian/$(package_msw_dbg)/usr/$(cross_host)/lib + cp $(objdir_msw_dbg)/wxmswd-$(release)-$(cross_host)-config debian/$(package_msw_dbg)/usr/bin/ + # No static lib, they're freakin' huge! + #$(cross_host)-strip --strip-debug debian/$(package_msw_dbg)/usr/$(cross_host)/lib/*.a + install-headers-msw: DH_OPTIONS=-p$(package_headers_msw) install-headers-msw: dh_testdir @@ -622,7 +720,9 @@ binary-common: @# 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_wxbase_msw_dev) -N$(package_msw_dev) + 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) dh_compress dh_fixperms @@ -638,14 +738,14 @@ binary-common: # building the arch specific package files needed to create them. binary-indep: build_all install $(MAKE) -f debian/rules \ - DH_OPTIONS="-i -N$(package_wxbase_msw_dev) -N$(package_msw_dev) -N$(package_headers_msw)" \ - binary-common + DH_OPTIONS="-i -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \ + binary-common # Build just the architecture-dependent files here. binary-arch: build_arch install_arch $(MAKE) -f debian/rules \ - DH_OPTIONS="-a -N$(package_wxbase_msw_dev) -N$(package_msw_dev) -N$(package_headers_msw)" \ - binary-common + DH_OPTIONS="-a -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \ + binary-common # Build all packages target. binary: binary-arch binary-indep @@ -657,8 +757,8 @@ binary: binary-arch binary-indep # that is not in the control file. binary-cross: control-files-stamp $(install_all_cross) $(MAKE) -f debian/rules \ - DH_OPTIONS="-p$(package_wxbase_msw_dev) -p$(package_msw_dev) -p$(package_headers_msw)" \ - binary-common + DH_OPTIONS="-p$(package_wxbase_msw_dev) -p$(package_wxbase_msw_dbg) -p$(package_msw_dev) -p$(package_msw_dbg) -p$(package_headers_msw)" \ + binary-common ############################################################################ @@ -700,6 +800,9 @@ binary-univ: control-files-stamp install-gtk-univ binary-doc: control-files-stamp install-doc $(MAKE) -f debian/rules DH_OPTIONS=-p$(package_doc) binary-common +binary-fast:control-files-stamp install-gtk-dbg install-msw-dev install-headers install-headers-msw + $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg) -p$(package_msw_dev) -p$(package_headers) -p$(package_headers_msw)" binary-common + .PHONY: build build_all build_arch clean binary-indep binary-arch binary binary-common \ binary-gtk binary-gtk-dev binary-gtk-dbg binary-wxbase binary-wxbase-dev \ @@ -708,5 +811,6 @@ binary-doc: control-files-stamp install-doc 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-headers install-i18n install-doc install-examples \ - install-wxbase-msw-dev install-msw-dev install-headers-msw + install-wxbase-msw-dev install-msw-dev install-headers-msw \ + install-wxbase-msw-dbg install-msw-dbg