forked from zeromq/jzmq
-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure.in
130 lines (111 loc) · 3.76 KB
/
configure.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.59)
#
# Change the version number below after doing a public release.
# The version in git should reflect the *next* version planned.
# Version must be MAJOR.MINOR.PATCH otherwise things will break.
#
AC_INIT([jzmq],[4.0.0],[[email protected]])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(config)
AC_CONFIG_HEADERS(src/main/c++/config.hpp)
AM_INIT_AUTOMAKE(tar-ustar)
#
# Libtool -version-info (ABI version)
#
# Currently 0.0.0 ("unstable"). Don't change this unless you
# know exactly what you're doing and have read and understand
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
#
# libjzmq -version-info
JLTVER="0:0:0"
AC_SUBST(JLTVER)
# Checks for programs.
AC_PROG_LIBTOOL
#AC_PROG_RANLIB
# AC_PROG_SED
AC_PROG_AWK
AM_PROG_CC_C_O
AC_PROG_CXX
AC_LANG(C++)
# Set default CPPFLAGS for reentrant code
CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE $CPPFLAGS"
# Check for zeromq library
zeromq_prefix=detect
AC_ARG_WITH([zeromq],
[AS_HELP_STRING([--with-zeromq=PREFIX],
[build with ZeroMQ library installed in PREFIX [default=autodetect]])],
[case "x$withval" in
xno)
AC_MSG_ERROR([jzmq requires the ZeroMQ library])
;;
xyes|x)
;;
*)
CPPFLAGS="$CPPFLAGS -I${withval}/include"
LDFLAGS="$LDFLAGS -L${withval}/lib"
zeromq_prefix=${withval}
;;
esac ]
)
if test "x$zeromq_prefix" = "xdetect"; then
PKG_CHECK_MODULES(
[ZeroMQ], [libzmq], [zeromq_prefix=pkgconfig], [zeromq_prefix=])
if test "x$zeromq_prefix" = "xpkgconfig"; then
CPPFLAGS="$CPPFLAGS ${ZeroMQ_CFLAGS}"
LDFLAGS="$LDFLAGS ${ZeroMQ_LIBS}"
fi
fi
AC_ARG_ENABLE([version],
[AS_HELP_STRING([--enable-version], [builds with version information embedded [default=yes]])])
AM_CONDITIONAL(DISABLE_VERSION, test "x$enable_version" = "xno")
AC_CHECK_HEADER([zmq.h], [],
[AC_MSG_ERROR([cannot find zmq.h])])
AC_ARG_ENABLE([self-contained],
[AS_HELP_STRING([--enable-self-contained], [generates a library that embeds all its external dependencies [default=no]])])
AC_ARG_ENABLE([self-contained-uuid],
[AS_HELP_STRING([--enable-self-contained-uuid], [embeds the libuuid dependency in the shared object [default=no]])])
AC_CHECK_LIB([zmq], [zmq_init],
[
if test "x$enable_self_contained" = "xyes"; then
LDFLAGS="$LDFLAGS -Wl,-Bstatic -Wl,-lzmq -Wl,-Bdynamic"
else
LIBS="-lzmq $LIBS"
fi
if test "x$enable_self_contained_uuid" = "xyes"; then
LDFLAGS="$LDFLAGS -Wl,-luuid"
fi
],
[AC_MSG_ERROR([cannot link with -lzmq])])
# Check for JDK
test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, javac -encoding ut8)
test "x$JAVAC" = x && AC_MSG_ERROR([cannot find javac])
AC_SUBST(JAVAC)
test "x$JAVAH" = x && AC_CHECK_PROGS(JAVAH, javah)
test "x$JAVAH" = x && AC_MSG_ERROR([cannot find javah])
AC_SUBST(JAVAH)
test "x$JAR" = x && AC_CHECK_PROGS(JAR, jar)
test "x$JAR" = x && AC_MSG_ERROR([cannot find jar])
AC_SUBST(JAR)
JAVAROOT=.
AC_SUBST(JAVAROOT)
# Checks for libraries.
AX_JNI_INCLUDE_DIR
for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS; do
CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR"
done
AC_SUBST(CPPFLAGS)
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_OUTPUT(Makefile src/main/c++/Makefile src/main/perf/Makefile)
# On Linux patch libtool to delete hardcoded paths (rpath).
case "${host_os}" in
*linux*)
sed < libtool > libtool-2 \
's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" "/'
mv libtool-2 libtool
chmod 755 libtool
;;
esac