On Wed, Dec 01, 2010 at 12:18:08AM +0530, Ramkumar Ramachandra wrote:
> > Your patch is too short. It's missing at least one hunk. Because if 
> > threading
> > is enabled for APR, you should also enable it for sqlite and any other
> > dependencies affected.
> 
> Ok, got it. Here's my second try.
> 
> [[[
> Makefile.svn: Optionally allow building with threading support
> 
> * tools/dev/unix-build/Makefile.svn: Add a new ENABLE_THREADING
>   variable to control whether APR and sqlite should be built with
>   threading support.
> ]]]
> 
> 
> Index: tools/dev/unix-build/Makefile.svn
> ===================================================================
> --- tools/dev/unix-build/Makefile.svn (revision 1040658)
> +++ tools/dev/unix-build/Makefile.svn (working copy)
> @@ -3,6 +3,7 @@
>  # WARNING: This may or may not work on your system. This Makefile is
>  # an example, rather than a ready-made universal solution.
>  
> +ENABLE_THREADING ?= no # OpenBSD doesn't have kernel threads for example

You can call this variable THREADING so it's shorter to type on the
command line.

>  ENABLE_PYTHON_BINDINGS ?= yes
>  ENABLE_RUBY_BINDINGS ?= yes
>  ENABLE_PERL_BINDINGS ?= yes
> @@ -241,12 +242,21 @@
>               | sed -e '/^.*APR_ADDTO(CPPFLAGS, \[-D_POSIX_THREADS\]).*$$/d' \
>                       > $(APR_SRCDIR)/build/apr_hints.m4
>       cd $(APR_SRCDIR) && ./buildconf
> -     cd $(APR_OBJDIR) \
> -             && env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
> -             $(APR_SRCDIR)/configure \
> -             --prefix=$(PREFIX)/apr \
> -             --enable-maintainer-mode \
> -             --disable-threads
> +     if [ $(ENABLE_THREADING) = yes ]; then \
> +             cd $(APR_OBJDIR) \
> +                     && env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
> +                     $(APR_SRCDIR)/configure \
> +                     --prefix=$(PREFIX)/apr \
> +                     --enable-maintainer-mode \
> +                     --enable-threads; \
> +     else \
> +             cd $(APR_OBJDIR) \
> +                     && env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
> +                     $(APR_SRCDIR)/configure \
> +                     --prefix=$(PREFIX)/apr \
> +                     --enable-maintainer-mode \
> +                     --disable-threads; \
> +     fi;
>       touch $@
>  
>  # compile apr

I would define a make variable that contains threading or non-threading
flags depending on THREADING=1, like this:

ifdef THREADING
THREADING_FLAG=--enable-threads
else
THREADING_FLAG=--enable-threads
endif

Then you can do this:
                cd $(APR_OBJDIR) \
                        && env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
                        $(APR_SRCDIR)/configure \
                        --prefix=$(PREFIX)/apr \
                        --enable-maintainer-mode \
                        $(THREADING_FLAG); \

> @@ -706,12 +716,21 @@
>  
>  # configure sqlite
>  $(SQLITE_OBJDIR)/.configured: $(SQLITE_OBJDIR)/.retrieved
> -     cd $(SQLITE_OBJDIR) \
> -             && env CFLAGS="-g $(PROFILE_CFLAGS)" \
> -             $(SQLITE_SRCDIR)/configure \
> -             --prefix=$(PREFIX)/sqlite \
> -             --disable-tcl \
> -             --disable-threadsafe
> +     if [ $(ENABLE_THREADING) = yes ]; then \
> +             cd $(SQLITE_OBJDIR) \
> +                     && env CFLAGS="-g $(PROFILE_CFLAGS)" \
> +                     $(SQLITE_SRCDIR)/configure \
> +                     --prefix=$(PREFIX)/sqlite \
> +                     --disable-tcl \
> +                     --enable-threadsafe; \
> +     else \
> +             cd $(SQLITE_OBJDIR) \
> +                     && env CFLAGS="-g $(PROFILE_CFLAGS)" \
> +                     $(SQLITE_SRCDIR)/configure \
> +                     --prefix=$(PREFIX)/sqlite \
> +                     --disable-tcl \
> +                     --disable-threadsafe; \
> +     fi;
>       touch $@
>  
>  # compile sqlite

Same here.

Stefan

Reply via email to