[sword-devel] -O3 -g

Jonathan Marsden jmarsden at fastmail.fm
Fri Dec 4 22:41:24 MST 2009


Troy A. Griffitts wrote:

> Yeah J, you're probably right.  I suppose I might try to justify the
> settings in usrinst.sh by saying that these are the normal settings for
> "users" needing to build the library (usually developers).  These are
> the settings I use daily while I develop (no shared libs, with debug).

OK... I think some clarity in INSTALL about your definition of "normal"
would be useful :)

I see that on a clean SWORD svn tree, doing

  ./autogen.sh && ./usrinst.sh --disable-debug && make

displays all the warnings, so the current SWORD build environment is
actually turning *off* some warnings by default, and enabling them only
when you disable debug.   That seems somewhat counter-intuitive.  You'd
generally want developers creating debug builds to see all the warnings,
and indeed the use of -Wall -Werror in the debug builds makes it appear
that this was the *intent* of the build setup... just not the actual effect.

> But I'm sure you're at least building with shared libs for your release
> package, yes?

Correct.  I forgot about that.  I'm not doing a --disable-shared, which
usrinst.sh does.  I'm not really sure *why* --disable-shared would be
considered "normal", by the way...?  I'm also not doing
--libdir=/usr/lib64 which seems a very odd default.

Maybe usrinst.sh needs renaming to developerinst.sh (or even
troyinst.sh), making its target audience clear, and then a usrinst.sh
more aimed at real builds / real users can be created and included, too?

Jonathan
--------------------------------------------------

#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/rules/patchsys-quilt.mk

DEB_DH_INSTALL_SOURCEDIR := debian/tmp
DEB_CONFIGURE_EXTRA_FLAGS := --with-zlib --with-clucene=/usr --with-icu
--enable-tests --enable-debug
DEB_DH_MAKESHLIBS_ARGS_libsword8 := -V"libsword8 (>= 1.6)"
DEB_SHLIBDEPS_INCLUDE_libsword8 := debian/tmp/usr/lib
DEB_SHLIBDEPS_INCLUDE_diatheke := debian/libsword8/usr/lib
DEB_DBG_PACKAGE_libsword8 := libsword-dbg
#CppUnitTestSuite - currently broken
#DEB_MAKE_CHECK_TARGET := check
#DEB_OPT_FLAG=-g -O0 -Werror -DUSBINARY
DEB_OPT_FLAG=-DUSBINARY

build/libsword8::
  #Running Shell based Testsuite
  $(shell cd tests/testsuite && ./runall.sh 1>&2)
  # The next three rules use chrpath to remove unwanted rpath info
  # from the compiled binaries when they are built on amd64.
  chrpath -d $(CURDIR)/lib/.libs/libsword.so*
  chrpath -d $(CURDIR)/utilities/.libs/*
  chrpath -d $(CURDIR)/utilities/diatheke/.libs/diatheke

  for file in `ls debian/*.pod`;\
  do\
    base=`basename $$file .pod`;\
    name=`basename $$base .1 | tr '[a-z]' '[A-Z]'`;\
    pod2man --release=$$VERSION --center "" -n $$name $$file > $$base;\
  done

binary: list-missing
  #checking for missing files
clean/::
  rm -f *.1




More information about the sword-devel mailing list