Fix various config/build issues.

Don't look for a shared libunwind if --with-static-libunwind is
specified.

Set SONAME when linking the shared libjemalloc.

Add DESTDIR support.

Add install_{include,lib/man} build targets.

Clean up compiler flag configuration.
diff --git a/jemalloc/INSTALL b/jemalloc/INSTALL
index e8d0b7a..6157ae5 100644
--- a/jemalloc/INSTALL
+++ b/jemalloc/INSTALL
@@ -151,9 +151,11 @@
 
 === Advanced compilation =======================================================
 
-To run integrated regression tests, type:
+To install only parts of jemalloc, use the following targets:
 
-    make check
+    install_include
+    install_lib
+    install_man
 
 To clean up build results to varying degrees, use the following make targets:
 
@@ -175,6 +177,10 @@
 MANDIR="?"
     Use this as the installation prefix for man pages.
 
+DESTDIR="?"
+    Prepend DESTDIR to INCLUDEDIR, LIBDIR, and MANDIR.  This is useful when
+    installing to a different path than was specified via --prefix.
+
 CC="?"
     Use this to invoke the C compiler.
 
diff --git a/jemalloc/Makefile.in b/jemalloc/Makefile.in
index 96f1e74..b52f9a8 100644
--- a/jemalloc/Makefile.in
+++ b/jemalloc/Makefile.in
@@ -11,9 +11,10 @@
 CC := @CC@
 
 # Configuration parameters.
-INCLUDEDIR := @INCLUDEDIR@
-LIBDIR := @LIBDIR@
-MANDIR := @MANDIR@
+DESTDIR =
+INCLUDEDIR := $(DESTDIR)@INCLUDEDIR@
+LIBDIR := $(DESTDIR)@LIBDIR@
+MANDIR := $(DESTDIR)@MANDIR@
 
 # Build parameters.
 CPPFLAGS := @CPPFLAGS@ -I@srcroot@include -I@objroot@include
@@ -32,8 +33,8 @@
 REV := 0
 
 # Lists of files.
-CHDRS := @objroot@include/jemalloc@install_suffix@.h \
-	@objroot@include/jemalloc_defs@install_suffix@.h
+CHDRS := @objroot@include/jemalloc/jemalloc@install_suffix@.h \
+	@objroot@include/jemalloc/jemalloc_defs@install_suffix@.h
 CSRCS := @srcroot@src/jemalloc.c @srcroot@src/arena.c @srcroot@src/base.c \
 	@srcroot@src/chunk.c @srcroot@src/chunk_dss.c \
 	@srcroot@src/chunk_mmap.c @srcroot@src/chunk_swap.c @srcroot@src/ckh.c \
@@ -62,26 +63,32 @@
 
 $(DSOS): $(CSRCS:@srcroot@%.c=@objroot@%.o)
 	@mkdir -p $(@D)
-	$(CC) -shared -o $@ $+ $(LDFLAGS) $(LIBS)
+	$(CC) -shared -Wl,-soname,libjemalloc@install_suffix@.so.$(REV) -o $@ $+ $(LDFLAGS) $(LIBS)
 	ln -sf libjemalloc@install_suffix@.so.$(REV) lib/libjemalloc@install_suffix@.so
 	ar crus @objroot@lib/libjemalloc@install_suffix@_pic.a $+
 
-install:
+install_include:
 	install -d $(INCLUDEDIR)/jemalloc
 	@for h in $(CHDRS); do \
 	echo "install -m 644 $$h $(INCLUDEDIR)/jemalloc"; \
 	install -m 644 $$h $(INCLUDEDIR)/jemalloc; \
 done
+
+install_lib: $(DSOS)
 	install -d $(LIBDIR)
 	install -m 755 @objroot@lib/libjemalloc@install_suffix@.so.$(REV) $(LIBDIR)
 	ln -sf libjemalloc@install_suffix@.so.$(REV) $(LIBDIR)/libjemalloc@install_suffix@.so
 	install -m 755 @objroot@lib/libjemalloc@install_suffix@_pic.a $(LIBDIR)
+
+install_man:
 	install -d $(MANDIR)/man3
 	@for m in $(MAN3); do \
 	echo "install -m 644 $$m $(MANDIR)/man3"; \
 	install -m 644 $$m $(MANDIR)/man3; \
 done
 
+install: install_include install_lib install_man
+
 check:
 
 clean:
diff --git a/jemalloc/configure.ac b/jemalloc/configure.ac
index b963e0e..9f51999 100644
--- a/jemalloc/configure.ac
+++ b/jemalloc/configure.ac
@@ -86,11 +86,12 @@
 AC_PROG_CC
 if test "x$CFLAGS" = "x" ; then
   no_CFLAGS="yes"
-  JE_CFLAGS_APPEND([-std=gnu99])
-  JE_CFLAGS_APPEND([-Wall])
-  JE_CFLAGS_APPEND([-pipe])
-  JE_CFLAGS_APPEND([-g3])
-  JE_CFLAGS_APPEND([-march=native])
+  if test "x$GCC" = "xyes" ; then
+    JE_CFLAGS_APPEND([-std=gnu99])
+    JE_CFLAGS_APPEND([-Wall])
+    JE_CFLAGS_APPEND([-pipe])
+    JE_CFLAGS_APPEND([-g3])
+  fi
 fi
 dnl Append EXTRA_CFLAGS to CFLAGS, if defined.
 if test "x$EXTRA_CFLAGS" != "x" ; then
@@ -305,7 +306,7 @@
     if test "x$GCC" = "xyes" ; then
       JE_CFLAGS_APPEND([-O3])
       JE_CFLAGS_APPEND([-funroll-loops])
-      JE_CFLAGS_APPEND([-fomit-frame-pointer])
+      JE_CFLAGS_APPEND([-march=native])
     else
       JE_CFLAGS_APPEND([-O])
     fi
@@ -678,8 +679,12 @@
   AC_DEFINE([JEMALLOC_PROF], [ ])
   if test "x$enable_prof_libunwind" = "x1" ; then
     AC_CHECK_HEADERS([libunwind.h], , [enable_prof_libunwind="0"])
-    AC_CHECK_LIB([unwind], [backtrace], [LIBS="$LIBS $LUNWIND"],
-                 [enable_prof_libunwind="0"])
+    if test "x$LUNWIND" = "x-lunwind" ; then
+      AC_CHECK_LIB([unwind], [backtrace], [LIBS="$LIBS $LUNWIND"],
+                   [enable_prof_libunwind="0"])
+    else
+      LIBS="$LIBS $LUNWIND"
+    fi
     if test "x${enable_prof_libunwind}" = "x1" ; then
       AC_DEFINE([JEMALLOC_PROF_LIBUNWIND], [ ])
     fi