On 2010-01-10 13:16 +0100, Craig Small wrote: > Hello, > I'm part of the group taking over the maintenance of ncurses packages > within Debian. I noticed your comments at > http://bugs.debian.org/556378 about the static libraries and configure > flags. > > Currently we build the libraries using --with-shared which, I believe, > makes both the static and shared libraries. However to use > --without-dlsym ONLY on static library build we would have the split the > two, is that right? Something like > ./configure --with-shared --without-normal ..etc... > make and install somewhere (makes shared libraries with dlsym) > ./configure --without-dlsym ...etc.. > make and install somewhere (makes static libraries without dlsym) > > Is this what you meant by this flag? It will mean doubling the number of > builds but there are a fair few already.
It is not quite that bad as doubling the number of builds since some of them are already done with --without-gpm. Here is a patch that adds two new build targets and installs the resulting *.a files directly into libncurses{w,}5-dev: --8<---------------cut here---------------start------------->8--- diff --git a/debian/libncurses5-dev.install b/debian/libncurses5-dev.install index 37ad120..2408d16 100644 --- a/debian/libncurses5-dev.install +++ b/debian/libncurses5-dev.install @@ -4,10 +4,5 @@ usr/lib/libtic.so usr/lib/libform.so usr/lib/libmenu.so usr/lib/libpanel.so -usr/lib/libncurses.a -usr/lib/libncurses++.a -usr/lib/libtic.a -usr/lib/libform.a -usr/lib/libmenu.a -usr/lib/libpanel.a +obj-static/lib/*.a usr/lib usr/share/man/man3 diff --git a/debian/libncursesw5-dev.install b/debian/libncursesw5-dev.install index c6a4496..b8af06d 100644 --- a/debian/libncursesw5-dev.install +++ b/debian/libncursesw5-dev.install @@ -4,9 +4,4 @@ usr/lib/libticw.so usr/lib/libformw.so usr/lib/libmenuw.so usr/lib/libpanelw.so -usr/lib/libncursesw.a -usr/lib/libncurses++w.a -usr/lib/libticw.a -usr/lib/libformw.a -usr/lib/libmenuw.a -usr/lib/libpanelw.a +obj-wide-static/lib/*.a usr/lib diff --git a/debian/rules b/debian/rules index 34d9fff..971a9c1 100755 --- a/debian/rules +++ b/debian/rules @@ -32,9 +32,11 @@ fulltempdir=$(workdir)/$(tempdir) srcdir=$(shell pwd) objdir=$(srcdir)/obj +objdir-static=$(srcdir)/obj-static objdir-32=$(srcdir)/obj-32 objdir-64=$(srcdir)/obj-64 wobjdir=$(srcdir)/obj-wide +wobjdir-static=$(srcdir)/obj-wide-static wobjdir-32=$(srcdir)/obj-wide-32 objdir-debug=$(srcdir)/obj-debug wobjdir-debug=$(srcdir)/obj-wide-debug @@ -130,6 +132,15 @@ $(objdir)/config.status: $(QUILT_STAMPFN) --with-install-prefix=$(fulltempdir) \ --enable-overwrite +$(objdir-static)/config.status: $(QUILT_STAMPFN) + test -d $(objdir-static) || mkdir $(objdir-static) + cd $(objdir-static) && CFLAGS="$(CFLAGS)" $(srcdir)/configure \ + $(CONFARGS) \ + --without-shared + --without-dlsym + --with-install-prefix=$(fulltempdir) \ + --enable-overwrite + $(objdir-32)/config.status: $(QUILT_STAMPFN) test -d $(objdir-32) || mkdir $(objdir-32) @@ -175,6 +186,15 @@ $(wobjdir)/config.status: $(QUILT_STAMPFN) --with-install-prefix=$(fulltempdir) \ --disable-overwrite --enable-widec +$(wobjdir-static)/config.status: $(QUILT_STAMPFN) + test -d $(wobjdir-static) || mkdir $(wobjdir-static) + cd $(wobjdir-static) && CFLAGS="$(CFLAGS)" $(srcdir)/configure \ + $(CONFARGS) \ + --without-shared + --without-dlsym + --with-install-prefix=$(fulltempdir) \ + --enable-overwrite --enable-widec + $(wobjdir-debug)/config.status: $(QUILT_STAMPFN) test -d $(wobjdir-debug) || mkdir $(wobjdir-debug) cd $(wobjdir-debug) && \ @@ -198,8 +218,8 @@ $(wobjdir-32)/config.status: $(QUILT_STAMPFN) --libdir=$(usr_lib32) -build: build-normal build-wide build-debug build-wide-debug \ - $(build_64) $(build_32) +build: build-normal build-static build-wide build-debug build-wide-debug \ + build-wide-static $(build_64) $(build_32) touch $@ @@ -207,6 +227,10 @@ build-normal: $(objdir)/config.status cd $(objdir) && $(MAKE) touch $@ +build-static: $(objdir-static)/config.status + cd $(objdir-static) && $(MAKE) + touch $@ + build-32: $(objdir-32)/config.status cd $(objdir-32) && $(MAKE) touch $@ @@ -223,6 +247,10 @@ build-wide: $(wobjdir)/config.status cd $(wobjdir) && $(MAKE) touch $@ +build-wide-static: $(wobjdir-static)/config.status + cd $(wobjdir-static) && $(MAKE) + touch $@ + build-wide-32: $(wobjdir-32)/config.status cd $(wobjdir-32) && $(MAKE) touch $@ @@ -235,14 +263,16 @@ clean: unpatch dh_testdir rm -f build rm -rf $(objdir) + rm -rf $(objdir-static) rm -rf $(objdir-32) rm -rf $(objdir-64) rm -rf $(wobjdir) + rm -rf $(wobjdir-static) rm -rf $(wobjdir-32) rm -rf $(objdir-debug) rm -rf $(wobjdir-debug) - rm -f build-normal build-wide build-debug build-wide-debug \ - $(build_32) $(build_64) + rm -f build-normal build-static build-wide build-debug build-wide-debug \ + build-wide-static $(build_32) $(build_64) rm -f debian/shlibs.local dh_clean --8<---------------cut here---------------end--------------->8--- If there are no objections, I can push this to our git repository. Do you think it would be necessary to do something similar for the debug libraries (I would rather say not) ? Sven -- To UNSUBSCRIBE, email to debian-qa-packages-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87iqa0asmj....@turtle.gmx.de