[sword-devel] -O3 -g
Troy A. Griffitts
scribe at crosswire.org
Sat Dec 5 00:10:40 MST 2009
> 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
I'm not sure I understand why you are seeing this behavior. You are
correct that the *plan* was to -Wall -Werror for debug builds. OK, I
think I know now why.... If I comment out --enable-debug in usrinst.sh
then things work as I would expect. Without debug is the default, and
--enable-debug is provided if you want otherwise. I've never actually
tried EXPLICITLY saying --disable-debug and I'm not sure why EXPLICITLY
saying --disable-debug turns on your crazy warnings... Is this some
oddity with autoconf?
> I'm not really sure *why* --disable-shared would be
> considered "normal", by the way...?
Cuz while developing I've been bitten too many times by trying to debug
a problem with a binary pulling in the WRONG libsword.so. I like to
know my lib is linked directly in my binary to avoid this.
> I'm also not doing --libdir=/usr/lib64 which seems a very odd default.
Aren't most systems running 64 bit these days? Fedora uses /lib64
and /usr/lib64 by default on these systems, and Ubuntu at least
symlinks /lib64 and /usr/lib64 to /lib and /usr/lib respectively, so we
should be good on both distros with this.
> 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?
I'll update the README
> #!/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
> #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`;\
> base=`basename $$file .pod`;\
> name=`basename $$base .1 | tr '[a-z]' '[A-Z]'`;\
> pod2man --release=$$VERSION --center "" -n $$name $$file > $$base;\
> binary: list-missing
> #checking for missing files
> rm -f *.1
> sword-devel mailing list: sword-devel at crosswire.org
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel