X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3a922bb4bd8dbcb04e31e324648c2912e167e0cd..81c9effa8462662263c3b4eac2cfae1ef5caae2c:/debian/rules diff --git a/debian/rules b/debian/rules index 8686835500..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 @@ -31,8 +34,12 @@ package_i18n=wxwin$(release)-i18n package_doc=wxwin$(release)-doc 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: @@ -47,13 +54,20 @@ objdir_doc=docs/wxWindows-manual.html objdir_examples=docs/examples 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_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 @@ -63,12 +77,15 @@ objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \ build_arch_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \ build-wxbase-debug-stamp build-gtk-shared-stamp \ build-gtk-static-stamp build-gtk-debug-stamp \ + build-gtk-univ-stamp \ build-contrib-shared-stamp build-contrib-static-stamp \ build-gtk-py-stamp build-i18n-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) @@ -77,12 +94,13 @@ 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-gtk-univ \ install-gtk-contrib install-gtk-contrib-dev install-gtk-py \ install-headers install-i18n 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) @@ -129,6 +147,11 @@ control-files-stamp: debian/control sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \ > debian/$(package_gtk_dbg).$$f; \ done; + @for f in dirs links postinst prerm; do \ + echo "generating control file $(package_gtk_univ).$$f"; \ + sed -e 's/=V/$(release)/g' < debian/libwxgtk-univ.$$f \ + > debian/$(package_gtk_univ).$$f; \ + done; @for f in dirs docs files postinst prerm; do \ echo "generating control file $(package_gtk_py).$$f"; \ sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python.$$f \ @@ -164,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 \ @@ -193,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 \ @@ -205,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 \ @@ -217,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 \ @@ -230,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 \ @@ -246,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 \ @@ -262,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 \ @@ -274,6 +307,23 @@ build-gtk-debug-stamp: && $(MAKE) touch $@ +build-gtk-univ-stamp: + dh_testdir + mkdir -p $(objdir_gtk_univ) + cd $(objdir_gtk_univ) \ + && ../configure --prefix=/usr \ + --cache-file=$(config_cache) \ + --with-gtk \ + --with-opengl \ + --enable-universal \ + --enable-soname \ + --with-zlib=sys \ + --with-libjpeg=sys \ + --with-libpng=sys \ + --with-libtiff=sys \ + && $(MAKE) + touch $@ + build-contrib-shared-stamp: build-gtk-shared-stamp dh_testdir cd $(objdir_gtk_shared)/contrib/src \ @@ -335,16 +385,33 @@ build-examples-stamp: build-gtk-shared-stamp build-i18n-stamp: build-gtk-shared-stamp dh_testdir + + # touch .po files first, since if they are not already up + # to date then _now_ is not the time to fix it. + # That should have been been done before cvs was tagged. cd $(objdir_i18n) \ + && touch *.po \ && $(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 \ @@ -352,26 +419,75 @@ 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 - cd wxPython && ./setup.py clean + rm -f docs/latex/wx/manual.bb + rm -f $(objdir_i18n)/*.mo + + cd wxPython \ + && ./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 \ + && rm -rf *.pyc + dh_clean rm -f debian/$(package_wxbase_lib).* rm -f debian/$(package_wxbase_dev).* @@ -379,6 +495,7 @@ clean: debian/control rm -f debian/$(package_gtk_lib).* rm -f debian/$(package_gtk_dev).* rm -f debian/$(package_gtk_dbg).* + rm -f debian/$(package_gtk_univ).* rm -f debian/$(package_gtk_py).* rm -f debian/$(package_gtk_contrib).* rm -f debian/$(package_gtk_contrib_dev).* @@ -387,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) @@ -451,6 +570,16 @@ install-gtk-dbg: build-gtk-debug-stamp cp $(objdir_gtk_debug)/wxgtkd-$(release)-config debian/$(package_gtk_dbg)/usr/bin/ cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg) +install-gtk-univ: DH_OPTIONS=-p$(package_gtk_univ) +install-gtk-univ: build-gtk-univ-stamp + dh_testdir + dh_testroot + dh_clean -k + 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 dh_testdir @@ -519,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 @@ -567,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 @@ -583,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 @@ -602,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 ############################################################################ @@ -638,10 +793,16 @@ binary-wxbase-dev: control-files-stamp install-wxbase-dev install-headers binary-wxbase-dbg: control-files-stamp install-wxbase-dbg install-headers $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_wxbase_dbg) -p$(package_headers)" binary-common +binary-univ: control-files-stamp install-gtk-univ + $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_univ)" binary-common + # docs package 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 \ @@ -650,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