You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2010/11/30 13:07:28 UTC
svn commit: r1040475 - /subversion/trunk/tools/dev/unix-build/Makefile.svn
Author: stsp
Date: Tue Nov 30 12:07:27 2010
New Revision: 1040475
URL: http://svn.apache.org/viewvc?rev=1040475&view=rev
Log:
* tools/dev/unix-build/Makefile.svn: Allow creating svn binaries for profiling
with gprof via "make PROFILE=1". I could only get this to work properly with
static linking so link svn binaries statically if profiling is enabled.
This means mod_dav_svn cannot be compiled with profile support.
Also, Cyrus-SASL support cannot be compiled into svnserve with profile
support because Cyrus-SASL is broken for static builds (it ends up creating
symlinks to the wrong directory and errors out because files cannot be
found). The bindings don't work with static builds either, and currently
the build errors out trying to compile the bindings if profiling is enabled.
Modified:
subversion/trunk/tools/dev/unix-build/Makefile.svn
Modified: subversion/trunk/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/dev/unix-build/Makefile.svn?rev=1040475&r1=1040474&r2=1040475&view=diff
==============================================================================
--- subversion/trunk/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/trunk/tools/dev/unix-build/Makefile.svn Tue Nov 30 12:07:27 2010
@@ -105,6 +105,10 @@ SVN_OBJDIR = $(OBJDIR)/$(SVN_REL_WC)
# builds!
svn_builddir ?=$(SVN_WC)
+ifdef PROFILE
+PROFILE_CFLAGS=-pg
+endif
+
#######################################################################
# Main targets.
#######################################################################
@@ -190,7 +194,8 @@ $(BDB_OBJDIR)/.retrieved: $(DISTDIR)/$(B
# configure bdb
$(BDB_OBJDIR)/.configured: $(BDB_OBJDIR)/.retrieved
cd $(BDB_SRCDIR)/build_unix \
- && env CFLAGS="-g" ../dist/configure \
+ && env CFLAGS="-g $(PROFILE_CFLAGS)" \
+ ../dist/configure \
--prefix=$(PREFIX)/bdb \
--enable-debug
touch $@
@@ -237,7 +242,8 @@ $(APR_OBJDIR)/.configured: $(APR_OBJDIR)
> $(APR_SRCDIR)/build/apr_hints.m4
cd $(APR_SRCDIR) && ./buildconf
cd $(APR_OBJDIR) \
- && env CFLAGS="-O0 -g" $(APR_SRCDIR)/configure \
+ && env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
+ $(APR_SRCDIR)/configure \
--prefix=$(PREFIX)/apr \
--enable-maintainer-mode \
--disable-threads
@@ -281,7 +287,8 @@ $(APR_ICONV_OBJDIR)/.retrieved: $(DISTDI
# configure apr-iconv
$(APR_ICONV_OBJDIR)/.configured: $(APR_ICONV_OBJDIR)/.retrieved
cd $(APR_ICONV_OBJDIR) \
- && env CFLAGS="-g" $(APR_ICONV_SRCDIR)/configure \
+ && env CFLAGS="-g $(PROFILE_CFLAGS)" \
+ $(APR_ICONV_SRCDIR)/configure \
--prefix=$(PREFIX)/apr \
--with-apr=$(PREFIX)/apr
touch $@
@@ -289,7 +296,7 @@ $(APR_ICONV_OBJDIR)/.configured: $(APR_I
# compile apr-iconv
$(APR_ICONV_OBJDIR)/.compiled: $(APR_ICONV_OBJDIR)/.configured
(cd $(APR_ICONV_OBJDIR) \
- && make CPPFLAGS="-D_OSD_POSIX" CFLAGS="-g -O0")
+ && make CPPFLAGS="-D_OSD_POSIX" CFLAGS="-g -O0 $(PROFILE_CFLAGS)")
touch $@
# install apr-iconv
@@ -360,7 +367,8 @@ $(GNU_ICONV_OBJDIR)/.configured: $(GNU_I
cd $(SRCDIR)/libiconv-${GNU_ICONV_VER} && \
${MAKE} -f Makefile.devel lib/aliases.h
cd $(GNU_ICONV_OBJDIR) \
- && env CFLAGS="-g" $(GNU_ICONV_SRCDIR)/configure \
+ && env CFLAGS="-g $(PROFILE_CFLAGS)" \
+ $(GNU_ICONV_SRCDIR)/configure \
--prefix=$(PREFIX)/iconv \
--enable-extra-encodings
touch $@
@@ -427,7 +435,7 @@ $(APR_UTIL_OBJDIR)/.configured: $(APR_UT
cd $(APR_UTIL_SRCDIR) && ./buildconf --with-apr=$(APR_SRCDIR)
cd $(APR_UTIL_OBJDIR) \
&& env LD_LIBRARY_PATH=$(PREFIX)/bdb/lib \
- CFLAGS="-O0 -g" \
+ CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
$(APR_UTIL_SRCDIR)/configure \
--prefix=$(PREFIX)/apr \
--enable-maintainer-mode \
@@ -475,7 +483,8 @@ $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$
# configure httpd
$(HTTPD_OBJDIR)/.configured: $(HTTPD_OBJDIR)/.retrieved
cd $(HTTPD_OBJDIR) \
- && $(HTTPD_SRCDIR)/configure \
+ && CFLAGS="$(PROFILE_CFLAGS)" \
+ $(HTTPD_SRCDIR)/configure \
--prefix=$(PREFIX)/httpd \
--enable-maintainer-mode \
--enable-ssl \
@@ -554,7 +563,8 @@ $(NEON_OBJDIR)/.configured: $(NEON_OBJDI
chmod +x $(NEON_OBJDIR)/krb5-config; \
fi
cd $(NEON_OBJDIR) \
- && env CFLAGS="-g" $(NEON_SRCDIR)/configure \
+ && env CFLAGS="-g $(PROFILE_CFLAGS)" \
+ $(NEON_SRCDIR)/configure \
PATH=$(NEON_OBJDIR):$$PATH \
--prefix=$(PREFIX)/neon \
--with-ssl \
@@ -612,7 +622,8 @@ $(SERF_OBJDIR)/.retrieved:
# compile serf (serf won't compile outside its source tree)
$(SERF_OBJDIR)/.compiled: $(SERF_OBJDIR)/.retrieved
cd $(SERF_SRCDIR) && \
- env CFLAGS="-O0 -g" ./serfmake --with-apr=$(PREFIX)/apr \
+ env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
+ ./serfmake --with-apr=$(PREFIX)/apr \
--prefix=$(PREFIX)/serf \
build
touch $@
@@ -652,7 +663,8 @@ $(SERF_OLD_OBJDIR)/.retrieved:
# compile serf (serf won't compile outside its source tree)
$(SERF_OLD_OBJDIR)/.compiled: $(SERF_OLD_OBJDIR)/.retrieved
cd $(SERF_OLD_SRCDIR) && \
- env CFLAGS="-O0 -g" ./serfmake --with-apr=$(PREFIX)/apr \
+ env CFLAGS="-O0 -g $(PROFILE_CFLAGS)" \
+ ./serfmake --with-apr=$(PREFIX)/apr \
--prefix=$(PREFIX)/serf-old \
build
touch $@
@@ -695,7 +707,8 @@ $(SQLITE_OBJDIR)/.retrieved: $(DISTDIR)/
# configure sqlite
$(SQLITE_OBJDIR)/.configured: $(SQLITE_OBJDIR)/.retrieved
cd $(SQLITE_OBJDIR) \
- && env CFLAGS="-g" $(SQLITE_SRCDIR)/configure \
+ && env CFLAGS="-g $(PROFILE_CFLAGS)" \
+ $(SQLITE_SRCDIR)/configure \
--prefix=$(PREFIX)/sqlite \
--disable-tcl \
--disable-threadsafe
@@ -753,7 +766,8 @@ endif
# configure cyrus-sasl
$(CYRUS_SASL_OBJDIR)/.configured: $(CYRUS_SASL_OBJDIR)/.retrieved
cd $(CYRUS_SASL_OBJDIR) \
- && env CFLAGS="-g" CPPFLAGS="-I/usr/include/kerberosV" \
+ && env CFLAGS="-g $(PROFILE_CFLAGS)" \
+ CPPFLAGS="-I/usr/include/kerberosV" \
$(CYRUS_SASL_SRCDIR)/configure \
--with-dbpath=$(PREFIX)/cyrus-sasl/etc/sasldb2 \
--with-plugindir=$(PREFIX)/cyrus-sasl/lib/sasl2 \
@@ -859,6 +873,14 @@ else
JAVAHL_FLAG=--enable-javahl=no
endif
+ifdef PROFILE
+SVN_ALL_STATIC=--enable-all-static
+else
+SVN_WITH_HTTPD=--with-apxs="$(PREFIX)/httpd/bin/apxs" \
+ --with-apache-libexecdir="$(PREFIX)/httpd/modules/svn-$(WC)"
+SVN_WITH_SASL=--with-sasl="$(PREFIX)/cyrus-sasl"
+endif
+
# configure svn
$(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)/.retrieved
@if [ $(ENABLE_JAVA_BINDINGS) = yes ]; then \
@@ -877,22 +899,22 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
--prefix="$(SVN_PREFIX)" \
--with-apr="$(PREFIX)/apr" \
--with-apr-util="$(PREFIX)/apr" \
- --with-apxs="$(PREFIX)/httpd/bin/apxs" \
- --with-apache-libexecdir=$(PREFIX)/httpd/modules/svn-$(WC) \
--with-neon="$(PREFIX)/neon" \
+ $(SVN_WITH_HTTPD) \
+ $(SVN_WITH_SASL) \
$(SERF_FLAG) \
--with-sqlite="$(PREFIX)/sqlite" \
--with-berkeley-db="$(BDB_FLAG)" \
- --with-sasl="$(PREFIX)/cyrus-sasl" \
--with-ruby-sitedir="$(SVN_PREFIX)/lib/ruby/site_ruby" \
--disable-mod-activation \
- $(JAVAHL_FLAG)
+ $(JAVAHL_FLAG) \
+ $(SVN_ALL_STATIC)
touch $@
# compile svn
$(SVN_OBJDIR)/.compiled: $(SVN_OBJDIR)/.configured
cd $(svn_builddir) \
- && make
+ && make EXTRA_CFLAGS="$(PROFILE_CFLAGS)"
touch $@
# install svn