[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

> 
> 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
> 
> 
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page





More information about the sword-devel mailing list