gnucash-on-windows master: Build Boost for C++

Geert Janssens janssens-geert at telenet.be
Mon Jun 16 09:14:52 EDT 2014


John,

Great to see you make some progress on the boost introduction.

Two minor remarks with this patch:

I notice you have disabled the installation of html help workshop again. I know the installation 
script fails for anything more recent than Windows XP, but was it your intention to push this 
change also upstream ?

Then I also see you add --with-boost=xyz to gnucash' configure call in install-impl.sh. I don't 
remember you adding this to master already. So unless I missed something the current 
windows build script will fail until you merge your boost branch into master. No big deal, just a 
heads up in case others run into this.

Geert

On Saturday 14 June 2014 16:49:25 John Ralls wrote:
> Updated	 via 
> https://github.com/Gnucash/gnucash-on-windows/commit/0eafec0b
> (commit) from 
> https://github.com/Gnucash/gnucash-on-windows/commit/9922bf5c
> (commit)
> 
> 
> 
> commit 0eafec0bc588ce4816f77d1bab501c73ae2e6aa6
> Author: John Ralls <jralls at ceridwen.us>
> Date:   Sat Jun 14 15:50:30 2014 -0700
> 
>     Build Boost for C++
> 
> diff --git a/defaults.sh b/defaults.sh
> index 7604280..003595d 100644
> --- a/defaults.sh
> +++ b/defaults.sh
> @@ -72,7 +72,7 @@ set_default MSYS_PATCH_VERSION "2.6.1-1"
>  set_default MSYS_PERL_VERSION  "5.8.8-1"
>  set_default MSYS_UNZIP_VERSION "6.0-1"
> 
> -set_default SF_MIRROR "http://heanet.dl.sourceforge.net/sourceforge"
> +set_default SF_MIRROR "http://heanet.sourceforge.net/sourceforge"
>  set_default GTK_MIRROR "ftp.gtk.org/pub"
>  set_default GNOME_MIRROR "ftp.gnome.org/pub/gnome"
>  set_default GNOME_WIN32_URL "$GNOME_MIRROR/binaries/win32"
> @@ -383,6 +383,9 @@ set_default XSLTPROCFLAGS ""
>  set_default ISOCODES_URL
> "http://pkg-isocodes.alioth.debian.org/downloads/iso-codes-3.49.tar.x
> z" set_default ISOCODES_DIR $GLOBAL_DIR\\isocodes
> 
> +set_default BOOST_URL
> "http://downloads.sf.net/boost/boost/boost_1_55_0.tar.bz2"
> +set_default BOOST_DIR $GLOBAL_DIR\\boost
> +
>  ### Local Variables: ***
>  ### sh-basic-offset: 4 ***
>  ### indent-tabs-mode: nil ***
> diff --git a/install-impl.sh b/install-impl.sh
> index ccc4423..7c0dcae 100644
> --- a/install-impl.sh
> +++ b/install-impl.sh
> @@ -1139,7 +1139,7 @@ function inst_hh() {
>          echo "!!! Attention !!!"
>          echo "!!! This is the only installation step that requires
> your direct input !!!" echo "!!! When asked for an installation path,
> specify $HH_DIR !!!" -        $LAST_FILE
> +#        $LAST_FILE
>          qpushd $HH_DIR
>             _HHCTRL_OCX=$(which hhctrl.ocx || true)
>             [ "$_HHCTRL_OCX" ] || die "Did not find hhctrl.ocx"
> @@ -1153,6 +1153,35 @@ function inst_hh() {
>      fi
>  }
> 
> +function inst_boost() {
> +    setup Boost
> +    _BOOST_UDIR=`unix_path ${BOOST_DIR}`
> +    set_env ${_BOOST_UDIR} BOOST_ROOT
> +    add_to_env ${_BOOST_UDIR}/lib PATH
> +    if test -f ${_BOOST_UDIR}/lib/libboost_date_time.dll
> +    then
> +        echo "Boost already installed in $_BOOST_UDIR. skipping."
> +    else
> +        wget_unpacked $BOOST_URL $DOWNLOAD_DIR $TMP_DIR
> +        assert_one_dir $TMP_UDIR/boost_*
> +        qpushd $TMP_UDIR/boost_*
> +        if test ! -f ${_BOOST_UDIR}/bin/b2
> +        then
> +            qpushd tools/build/v2
> +                ./bootstrap.sh --with-toolset=mingw
> +                ./b2 install toolset=gcc --prefix=${_BOOST_UDIR}
> +             qpopd
> +         fi
> +        # Limit the built libraries to what we think we'll need. Note
> +        # that the python and context libraries depend on Python and
> +        # Visual Studio respectively to build, so don't add them. + 
>        ${_BOOST_UDIR}/bin/b2 install-proper --prefix=${_BOOST_UDIR}
> --with-atomic --with-chrono --with-date_time --with-filesystem
> --with-log --with-program_options --with-regex --with-signals
> --with-system --with-test link=shared variant=release toolset=gcc
> --layout=tagged +        qpopd
> +        test -f ${_BOOST_UDIR}/lib/libboost_date_time.dll || die
> "Boost not installed correctly" +	rm -rf $TMP_UDIR/boost_*
> +    fi
> +}
> +
>  function inst_cutecash() {
>      setup Cutecash
>      _BUILD_UDIR=`unix_path $CUTECASH_BUILD_DIR`
> @@ -1185,6 +1214,7 @@ function inst_cutecash() {
> 
>  function inst_gnucash() {
>      setup GnuCash
> +    echo $BOOST_ROOT
>      _INSTALL_WFSDIR=`win_fs_path $INSTALL_DIR`
>      _INSTALL_UDIR=`unix_path $INSTALL_DIR`
>      _BUILD_UDIR=`unix_path $BUILD_DIR`
> @@ -1212,6 +1242,7 @@ function inst_gnucash() {
>              ${AQBANKING_OPTIONS} \
>              --enable-binreloc \
>              --enable-locale-specific-tax \
> +            --with-boost=${BOOST_ROOT} \
>              CPPFLAGS="${REGEX_CPPFLAGS} ${GNOME_CPPFLAGS}
> ${GUILE_CPPFLAGS} ${LIBDBI_CPPFLAGS} ${KTOBLZCHECK_CPPFLAGS}
> ${HH_CPPFLAGS} ${LIBSOUP_CPPFLAGS} -D_WIN32 ${EXTRA_CFLAGS}" \
> LDFLAGS="${REGEX_LDFLAGS} ${GNOME_LDFLAGS} ${GUILE_LDFLAGS}
> ${LIBDBI_LDFLAGS} ${KTOBLZCHECK_LDFLAGS} ${HH_LDFLAGS}
> -L${_SQLITE3_UDIR}/lib -L${_ENCHANT_UDIR}/lib -L${_LIBXSLT_UDIR}/lib
> -L${_MINGW_UDIR}/lib" \ PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
> diff --git a/install.sh b/install.sh
> index 603a0de..3481981 100644
> --- a/install.sh
> +++ b/install.sh
> @@ -99,6 +99,8 @@ add_step inst_libdbi


More information about the gnucash-devel mailing list