1 From e93f577e0c33d6fa6c5464dfa423fb66746ad5e4 Mon Sep 17 00:00:00 2001
2 From: Peter Lemenkov <lemenkov@gmail.com>
3 Date: Tue, 31 May 2011 18:08:15 +0400
4 Subject: [PATCH 13/13] Use pkg-config
6 Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
8 configure.ac | 32 ++++++++++++++------------------
9 src/couchdb/priv/Makefile.am | 4 ++--
10 2 files changed, 16 insertions(+), 20 deletions(-)
12 diff --git a/configure.ac b/configure.ac
13 index 79fa8dd..0d81805 100644
16 @@ -51,39 +51,36 @@ AC_ARG_WITH([erlang], [AC_HELP_STRING([--with-erlang=PATH],
17 ERLANG_FLAGS="-I$withval"
19 ERLANG_FLAGS="-I${libdir}/erlang/usr/include"
20 - ERLANG_FLAGS="$ERLANG_FLAGS -I/usr/lib/erlang/usr/include"
21 - ERLANG_FLAGS="$ERLANG_FLAGS -I/usr/local/lib/erlang/usr/include"
22 - ERLANG_FLAGS="$ERLANG_FLAGS -I/opt/local/lib/erlang/usr/include"
25 +AC_PATH_PROG([PKG_CONFIG], [pkg-config])
27 +if test "x${PKG_CONFIG}" = "x"; then
28 + AC_MSG_ERROR([You have to install pkg-config to compile CouchDB.])
31 AC_ARG_WITH([js-include], [AC_HELP_STRING([--with-js-include=PATH],
32 [set PATH to the SpiderMonkey include directory])], [
34 - JS_FLAGS="-I$JS_INCLUDE"
35 + JS_FLAGS="-I$JS_INCLUDE `pkg-config mozjs185 --cflags`"
37 - JS_FLAGS="-I/usr/include"
38 - JS_FLAGS="$JS_FLAGS -I/usr/include/js"
39 - JS_FLAGS="$JS_FLAGS -I/usr/include/mozjs"
40 - JS_FLAGS="$JS_FLAGS -I/usr/local/include"
41 - JS_FLAGS="$JS_FLAGS -I/opt/local/include"
42 - JS_FLAGS="$JS_FLAGS -I/usr/local/include/js"
43 - JS_FLAGS="$JS_FLAGS -I/opt/local/include/js"
44 + JS_FLAGS=`pkg-config mozjs185 --cflags`
47 AC_ARG_WITH([js-lib], [AC_HELP_STRING([--with-js-lib=PATH],
48 [set PATH to the SpiderMonkey library directory])],
51 - JS_LIB_FLAGS="-L$withval"
52 + JS_LIB_FLAGS="-L$withval `pkg-config mozjs185 --libs`"
55 + JS_LIB_FLAGS=`pkg-config mozjs185 --libs`
59 AC_ARG_VAR([ERLC_FLAGS], [general flags to prepend to ERLC_FLAGS])
60 AC_ARG_VAR([FLAGS], [general flags to prepend to LDFLAGS and CPPFLAGS])
62 -LIB_FLAGS="$JS_LIB_FLAGS -L/usr/local/lib -L/opt/local/lib"
63 LIBS="$LIB_FLAGS $LIBS"
66 @@ -98,11 +95,9 @@ case "$(uname -s)" in
70 - # XP_UNIX required for jsapi.h and has been tested to work on Linux and Darwin.
71 - FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_FLAGS -DXP_UNIX $FLAGS"
72 - CPPFLAGS="$FLAGS $CPPFLAGS"
73 + CPPFLAGS="$FLAGS $ERLANG_FLAGS $JS_FLAGS $CPPFLAGS"
74 # manually linking libm is requred for FreeBSD 7.0
75 - LDFLAGS="$FLAGS -lm $LDFLAGS"
76 + LDFLAGS="$FLAGS $JS_LIB_FLAGS -lm $LDFLAGS"
80 @@ -215,7 +210,8 @@ AC_ARG_WITH([win32-curl], [AC_HELP_STRING([--with-win32-curl=PATH],
81 CURL_LDFLAGS="-l$CURL_LIBS -lWs2_32 -lkernel32 -luser32 -ladvapi32 -lWldap32"
83 AC_CHECK_CURL([7.18.0])
85 + CURL_CFLAGS=`pkg-config libcurl --cflags`
86 + CURL_LDFLAGS=`pkg-config libcurl --libs`
90 diff --git a/src/couchdb/priv/Makefile.am b/src/couchdb/priv/Makefile.am
91 index 0a99cbf..5d0477e 100644
92 --- a/src/couchdb/priv/Makefile.am
93 +++ b/src/couchdb/priv/Makefile.am
94 @@ -46,8 +46,8 @@ COUCHJS_SRCS = \
96 locallibbin_PROGRAMS = couchjs
97 couchjs_SOURCES = $(COUCHJS_SRCS)
98 -couchjs_LDFLAGS = $(CURL_LDFLAGS)
99 -couchjs_CFLAGS = -D_BSD_SOURCE $(CURL_CFLAGS)
100 +couchjs_LDFLAGS = $(CURL_LDFLAGS) $(JS_LIB_FLAGS)
101 +couchjs_CFLAGS = -D_BSD_SOURCE $(CURL_CFLAGS) $(JS_FLAGS)
102 couchjs_LDADD = $(CURL_LDFLAGS) @JSLIB@
104 couchpriv_DATA = stat_descriptions.cfg