File: configure.in

package info (click to toggle)
jzmq 3.1.0-10
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 704 kB
  • ctags: 825
  • sloc: java: 4,098; cpp: 1,252; xml: 317; makefile: 105; sh: 29
file content (131 lines) | stat: -rw-r--r-- 3,867 bytes parent folder | download
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
130
131
#                                               -*- 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],[zeromq-dev@lists.zeromq.org])

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)
AC_SUBST(JAVACFLAGS)

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