~lttng/lttng-ust/lttng-ust

« back to all changes in this revision

Viewing changes to config/ax_jni_include_dir.m4

  • Committer: Mathieu Desnoyers
  • Author(s): Michael Jeanson
  • Date: 2017-05-09 18:52:23 UTC
  • Revision ID: git-v1:093c3f9bbdda113147ab03be62aaa37bd1c786b4
Move m4 scripts to m4 dir

Harmonize build system configuration across our projects.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# ===========================================================================
2
 
#    http://www.gnu.org/software/autoconf-archive/ax_jni_include_dir.html
3
 
# ===========================================================================
4
 
#
5
 
# SYNOPSIS
6
 
#
7
 
#   AX_JNI_INCLUDE_DIR
8
 
#
9
 
# DESCRIPTION
10
 
#
11
 
#   AX_JNI_INCLUDE_DIR finds include directories needed for compiling
12
 
#   programs using the JNI interface.
13
 
#
14
 
#   JNI include directories are usually in the Java distribution. This is
15
 
#   deduced from the value of $JAVA_HOME, $JAVAC, or the path to "javac", in
16
 
#   that order. When this macro completes, a list of directories is left in
17
 
#   the variable JNI_INCLUDE_DIRS.
18
 
#
19
 
#   Example usage follows:
20
 
#
21
 
#     AX_JNI_INCLUDE_DIR
22
 
#
23
 
#     for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS
24
 
#     do
25
 
#             CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR"
26
 
#     done
27
 
#
28
 
#   If you want to force a specific compiler:
29
 
#
30
 
#   - at the configure.in level, set JAVAC=yourcompiler before calling
31
 
#   AX_JNI_INCLUDE_DIR
32
 
#
33
 
#   - at the configure level, setenv JAVAC
34
 
#
35
 
#   Note: This macro can work with the autoconf M4 macros for Java programs.
36
 
#   This particular macro is not part of the original set of macros.
37
 
#
38
 
# LICENSE
39
 
#
40
 
#   Copyright (c) 2008 Don Anderson <dda@sleepycat.com>
41
 
#
42
 
#   Copying and distribution of this file, with or without modification, are
43
 
#   permitted in any medium without royalty provided the copyright notice
44
 
#   and this notice are preserved. This file is offered as-is, without any
45
 
#   warranty.
46
 
 
47
 
#serial 10
48
 
 
49
 
AU_ALIAS([AC_JNI_INCLUDE_DIR], [AX_JNI_INCLUDE_DIR])
50
 
AC_DEFUN([AX_JNI_INCLUDE_DIR],[
51
 
 
52
 
JNI_INCLUDE_DIRS=""
53
 
 
54
 
if test "x$JAVA_HOME" != x; then
55
 
        _JTOPDIR="$JAVA_HOME"
56
 
else
57
 
        if test "x$JAVAC" = x; then
58
 
                JAVAC=javac
59
 
        fi
60
 
        AC_PATH_PROG([_ACJNI_JAVAC], [$JAVAC], [no])
61
 
        if test "x$_ACJNI_JAVAC" = xno; then
62
 
                AC_MSG_ERROR([cannot find JDK; try setting \$JAVAC or \$JAVA_HOME])
63
 
        fi
64
 
        _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC")
65
 
        _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'`
66
 
fi
67
 
 
68
 
case "$host_os" in
69
 
        darwin*)        _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
70
 
                        _JINC="$_JTOPDIR/Headers";;
71
 
        *)              _JINC="$_JTOPDIR/include";;
72
 
esac
73
 
_AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR])
74
 
_AS_ECHO_LOG([_JINC=$_JINC])
75
 
 
76
 
# On Mac OS X 10.6.4, jni.h is a symlink:
77
 
# /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h
78
 
# -> ../../CurrentJDK/Headers/jni.h.
79
 
AC_CHECK_FILE([$_JINC/jni.h],
80
 
        [JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC"],
81
 
        [_JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'`
82
 
         AC_CHECK_FILE([$_JTOPDIR/include/jni.h],
83
 
                [JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include"],
84
 
                AC_MSG_ERROR([cannot find JDK header files]))
85
 
        ])
86
 
 
87
 
# get the likely subdirectories for system specific java includes
88
 
case "$host_os" in
89
 
bsdi*)          _JNI_INC_SUBDIRS="bsdos";;
90
 
freebsd*)       _JNI_INC_SUBDIRS="freebsd";;
91
 
linux*)         _JNI_INC_SUBDIRS="linux genunix";;
92
 
osf*)           _JNI_INC_SUBDIRS="alpha";;
93
 
solaris*)       _JNI_INC_SUBDIRS="solaris";;
94
 
mingw*)         _JNI_INC_SUBDIRS="win32";;
95
 
cygwin*)        _JNI_INC_SUBDIRS="win32";;
96
 
*)              _JNI_INC_SUBDIRS="genunix";;
97
 
esac
98
 
 
99
 
# add any subdirectories that are present
100
 
for JINCSUBDIR in $_JNI_INC_SUBDIRS
101
 
do
102
 
    if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then
103
 
         JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR"
104
 
    fi
105
 
done
106
 
])
107
 
 
108
 
# _ACJNI_FOLLOW_SYMLINKS <path>
109
 
# Follows symbolic links on <path>,
110
 
# finally setting variable _ACJNI_FOLLOWED
111
 
# ----------------------------------------
112
 
AC_DEFUN([_ACJNI_FOLLOW_SYMLINKS],[
113
 
# find the include directory relative to the javac executable
114
 
_cur="$1"
115
 
while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do
116
 
        AC_MSG_CHECKING([symlink for $_cur])
117
 
        _slink=`ls -ld "$_cur" | sed 's/.* -> //'`
118
 
        case "$_slink" in
119
 
        /*) _cur="$_slink";;
120
 
        # 'X' avoids triggering unwanted echo options.
121
 
        *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";;
122
 
        esac
123
 
        AC_MSG_RESULT([$_cur])
124
 
done
125
 
_ACJNI_FOLLOWED="$_cur"
126
 
])# _ACJNI