X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fb788e466762421059156f463b4e7be70658e43..4e4a5fed9f544d3bec51b75b6e8638d4481d8534:/debian/rules diff --git a/debian/rules b/debian/rules index cc94b05221..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 @@ -53,15 +56,18 @@ objdir_i18n=locale objdir_gtk_univ=objs_gtk_univ -objdir_wxbase_msw_dev=objs_wxbase_msw_dev -objdir_wxbase_msw_dev=objs_wxbase_msw_dbg -objdir_msw_dev=objs_msw_dev -objdir_msw_dev=objs_msw_dbg +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_dev) $(objdir_wxbase_msw_dbg) $(objdir_msw_dev) $(objdir_msw_dbg) + $(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 @@ -77,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-wxbase-msw-dbg-stamp build-msw-dev-stamp build-msw-dbg-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) @@ -218,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 \ @@ -230,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 \ @@ -242,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 \ @@ -255,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 \ @@ -271,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 \ @@ -287,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 \ @@ -304,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 \ @@ -386,24 +394,38 @@ 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_dev) - cd $(objdir_wxbase_msw_dev) \ + 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 \ + --disable-shared \ && $(MAKE) touch $@ +# 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_deb.cache \ + --cache-file=$(config_cache_cross) \ --host=$(cross_host) \ --build=$(cross_build) \ --disable-gui \ @@ -411,23 +433,35 @@ build-wxbase-msw-dbg-stamp: && $(MAKE) touch $@ -build-msw-dev-stamp: +build-msw-shared-stamp: dh_testdir - mkdir -p $(objdir_msw_dev) - cd $(objdir_msw_dev) \ + mkdir -p $(objdir_msw_shared) + cd $(objdir_msw_shared) \ && ../configure --prefix=/usr/$(cross_host) \ - --cache-file=../config_deb.cache \ + --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_cache_cross) \ + --host=$(cross_host) \ + --build=$(cross_build) \ + --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_deb.cache \ + --cache-file=$(config_cache_cross) \ --host=$(cross_host) \ --build=$(cross_build) \ --enable-debug \ @@ -439,7 +473,7 @@ 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 @@ -448,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 \ @@ -543,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 @@ -612,13 +648,14 @@ 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_dev)/lib/* debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib - cp $(objdir_wxbase_msw_dev)/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) @@ -628,17 +665,19 @@ install-wxbase-msw-dbg: build-wxbase-msw-dbg-stamp 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)/wxbase-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dbg)/usr/bin/ - $(cross_host)-strip --strip-debug debian/$(package_wxbase_msw_dbg)/usr/$(cross_host)/lib/*.a + 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_dev)/lib/* debian/$(package_msw_dev)/usr/$(cross_host)/lib - cp $(objdir_msw_dev)/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) @@ -648,8 +687,9 @@ install-msw-dbg: build-msw-dbg-stamp dh_clean -k dh_installdirs cp -a $(objdir_msw_dbg)/lib/* debian/$(package_msw_dbg)/usr/$(cross_host)/lib - cp $(objdir_msw_dbg)/wxmsw-$(release)-$(cross_host)-config debian/$(package_msw_dbg)/usr/bin/ - $(cross_host)-strip --strip-debug debian/$(package_msw_dbg)/usr/$(cross_host)/lib/*.a + 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: @@ -680,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 @@ -696,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 @@ -715,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 ############################################################################ @@ -758,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 \