trinidad_init_services 1.1.3 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +5 -0
- data/Gemfile +3 -0
- data/History.txt +6 -0
- data/README.md +95 -0
- data/Rakefile +9 -58
- data/bin/trinidad_init_service +3 -4
- data/init.d/trinidad.erb +33 -12
- data/jsvc-unix-src/CHANGES.txt +62 -0
- data/jsvc-unix-src/INSTALL.txt +81 -0
- data/jsvc-unix-src/Makedefs.in +32 -0
- data/jsvc-unix-src/Makefile.in +42 -0
- data/jsvc-unix-src/configure +4417 -0
- data/jsvc-unix-src/configure.in +141 -0
- data/jsvc-unix-src/man/README +20 -0
- data/jsvc-unix-src/man/fetch.sh +36 -0
- data/jsvc-unix-src/man/jsvc.1.xml +214 -0
- data/jsvc-unix-src/native/.indent.pro +7 -0
- data/jsvc-unix-src/native/Makefile.in +46 -0
- data/jsvc-unix-src/native/arguments.c +476 -0
- data/jsvc-unix-src/native/arguments.h +94 -0
- data/jsvc-unix-src/native/debug.c +87 -0
- data/jsvc-unix-src/native/debug.h +65 -0
- data/jsvc-unix-src/native/dso-dlfcn.c +62 -0
- data/jsvc-unix-src/native/dso-dyld.c +153 -0
- data/jsvc-unix-src/native/dso.h +38 -0
- data/jsvc-unix-src/native/help.c +106 -0
- data/jsvc-unix-src/native/help.h +24 -0
- data/jsvc-unix-src/native/home.c +265 -0
- data/jsvc-unix-src/native/home.h +47 -0
- data/jsvc-unix-src/native/java.c +608 -0
- data/jsvc-unix-src/native/java.h +35 -0
- data/jsvc-unix-src/native/jsvc-unix.c +1267 -0
- data/jsvc-unix-src/native/jsvc.h +55 -0
- data/jsvc-unix-src/native/location.c +151 -0
- data/jsvc-unix-src/native/location.h +29 -0
- data/jsvc-unix-src/native/locks.c +52 -0
- data/jsvc-unix-src/native/locks.h +40 -0
- data/jsvc-unix-src/native/replace.c +121 -0
- data/jsvc-unix-src/native/replace.h +39 -0
- data/jsvc-unix-src/native/signals.c +105 -0
- data/jsvc-unix-src/native/signals.h +34 -0
- data/jsvc-unix-src/native/version.h +63 -0
- data/jsvc-unix-src/support/apfunctions.m4 +110 -0
- data/jsvc-unix-src/support/apjava.m4 +94 -0
- data/jsvc-unix-src/support/apsupport.m4 +155 -0
- data/jsvc-unix-src/support/buildconf.sh +33 -0
- data/jsvc-unix-src/support/config.guess +1371 -0
- data/jsvc-unix-src/support/config.sub +1760 -0
- data/jsvc-unix-src/support/install.sh +128 -0
- data/jsvc-unix-src/support/mkdist.sh +104 -0
- data/lib/trinidad/daemon.rb +31 -0
- data/lib/trinidad_init_services.rb +2 -30
- data/lib/trinidad_init_services/configuration.rb +91 -14
- data/lib/trinidad_init_services/version.rb +5 -0
- data/spec/spec_helper.rb +5 -6
- data/spec/trinidad_daemon_spec.rb +0 -1
- data/spec/trinidad_init_services/configuration_spec.rb +34 -1
- data/trinidad_init_services.gemspec +14 -51
- metadata +146 -87
- data/README +0 -63
- data/trinidad-libs/jsvc_linux +0 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
/* Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
* contributor license agreements. See the NOTICE file distributed with
|
3
|
+
* this work for additional information regarding copyright ownership.
|
4
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
5
|
+
* (the "License"); you may not use this file except in compliance with
|
6
|
+
* the License. You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
/* @version $Id: replace.h 921765 2010-03-11 10:03:32Z mturk $ */
|
18
|
+
#ifndef __JSVC_REPLACE_H__
|
19
|
+
#define __JSVC_REPLACE_H__
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Replace all occurrences of mch in old with the new string rpl, and
|
23
|
+
* stores the result in new, provided that its length (specified in len)
|
24
|
+
* is enough.
|
25
|
+
*
|
26
|
+
* @param new The buffer where the result of the replace operation will be
|
27
|
+
* stored into.
|
28
|
+
* @param len The length of the previous buffer.
|
29
|
+
* @param old The string where occurrences of mtch must be searched.
|
30
|
+
* @param mch The characters to match in old (and to be replaced)
|
31
|
+
* @param rpl The characters that will be replaced in place of mch.
|
32
|
+
* @return Zero on success, a value less than 0 if an error was encountered
|
33
|
+
* or a value greater than zero (indicating the required storage size
|
34
|
+
* for new) if the buffer was too short to hold the new string.
|
35
|
+
*/
|
36
|
+
int replace(char *new, int len, char *old, char *mch, char *rpl);
|
37
|
+
|
38
|
+
#endif /* ifndef __JSVC_REPLACE_H__ */
|
39
|
+
|
@@ -0,0 +1,105 @@
|
|
1
|
+
/* Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
* contributor license agreements. See the NOTICE file distributed with
|
3
|
+
* this work for additional information regarding copyright ownership.
|
4
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
5
|
+
* (the "License"); you may not use this file except in compliance with
|
6
|
+
* the License. You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
/* @version $Id: signals.c 982560 2010-08-05 12:05:30Z mturk $ */
|
18
|
+
|
19
|
+
/*
|
20
|
+
* as Windows does not support signal, jsvc uses events to emulate them.
|
21
|
+
* The supported signal is SIGTERM.
|
22
|
+
* The kills.c contains the kill logic.
|
23
|
+
*/
|
24
|
+
#ifdef OS_CYGWIN
|
25
|
+
#include <windows.h>
|
26
|
+
#include <stdio.h>
|
27
|
+
static void (*HandleTerm) (void) = NULL; /* address of the handler routine. */
|
28
|
+
|
29
|
+
/*
|
30
|
+
* Event handling routine
|
31
|
+
*/
|
32
|
+
void v_difthf(LPVOID par)
|
33
|
+
{
|
34
|
+
HANDLE hevint; /* make a local copy because the parameter is shared! */
|
35
|
+
|
36
|
+
hevint = (HANDLE) par;
|
37
|
+
|
38
|
+
for (;;) {
|
39
|
+
if (WaitForSingleObject(hevint, INFINITE) == WAIT_FAILED) {
|
40
|
+
/* something have gone wrong. */
|
41
|
+
return; /* may be something more is needed. */
|
42
|
+
}
|
43
|
+
|
44
|
+
/* call the interrupt handler. */
|
45
|
+
if (HandleTerm == NULL)
|
46
|
+
return;
|
47
|
+
HandleTerm();
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
/*
|
52
|
+
* set a routine handler for the signal
|
53
|
+
* note that it cannot be used to change the signal handler
|
54
|
+
*/
|
55
|
+
int SetTerm(void (*func) (void))
|
56
|
+
{
|
57
|
+
char Name[256];
|
58
|
+
HANDLE hevint, hthread;
|
59
|
+
DWORD ThreadId;
|
60
|
+
SECURITY_ATTRIBUTES sa;
|
61
|
+
SECURITY_DESCRIPTOR sd;
|
62
|
+
|
63
|
+
sprintf(Name, "TERM%ld", GetCurrentProcessId());
|
64
|
+
|
65
|
+
/*
|
66
|
+
* event cannot be inherited.
|
67
|
+
* the event is reseted to nonsignaled after the waiting thread is released.
|
68
|
+
* the start state is resetted.
|
69
|
+
*/
|
70
|
+
|
71
|
+
/* Initialize the new security descriptor. */
|
72
|
+
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
|
73
|
+
|
74
|
+
/* Add a NULL descriptor ACL to the security descriptor. */
|
75
|
+
SetSecurityDescriptorDacl(&sd, TRUE, (PACL) NULL, FALSE);
|
76
|
+
|
77
|
+
sa.nLength = sizeof(sa);
|
78
|
+
sa.lpSecurityDescriptor = &sd;
|
79
|
+
sa.bInheritHandle = TRUE;
|
80
|
+
|
81
|
+
|
82
|
+
/* It works also with NULL instead &sa!! */
|
83
|
+
hevint = CreateEvent(&sa, FALSE, FALSE, Name);
|
84
|
+
|
85
|
+
HandleTerm = func;
|
86
|
+
|
87
|
+
if (hevint == NULL)
|
88
|
+
return -1; /* failed */
|
89
|
+
|
90
|
+
/* create the thread to wait for event */
|
91
|
+
hthread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) v_difthf,
|
92
|
+
(LPVOID) hevint, 0, &ThreadId);
|
93
|
+
if (hthread == NULL) {
|
94
|
+
/* failed remove the event */
|
95
|
+
CloseHandle(hevint); /* windows will remove it. */
|
96
|
+
return -1;
|
97
|
+
}
|
98
|
+
|
99
|
+
CloseHandle(hthread); /* not needed */
|
100
|
+
return 0;
|
101
|
+
}
|
102
|
+
#else
|
103
|
+
const char __unused_signals_c[] = __FILE__;
|
104
|
+
#endif
|
105
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2001-2004 The Apache Software Foundation.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
*/
|
16
|
+
/* @version $Id$ */
|
17
|
+
#ifndef __JSVC_SIGNALS_H__
|
18
|
+
#define __JSVC_SIGNALS_H__
|
19
|
+
|
20
|
+
/*
|
21
|
+
* as Windows does not support signal, jsvc use event to emulate them.
|
22
|
+
* The supported signal is SIGTERM.
|
23
|
+
*/
|
24
|
+
#ifdef OS_CYGWIN
|
25
|
+
/*
|
26
|
+
* set a routine handler for the signal
|
27
|
+
* note that it cannot be used to change the signal handler
|
28
|
+
* @param func The function to call on termination
|
29
|
+
* @return Zero on success, a value less than 0 if an error was encountered
|
30
|
+
*/
|
31
|
+
int SetTerm(void (*func) (void));
|
32
|
+
|
33
|
+
#endif
|
34
|
+
#endif /* ifndef __JSVC_SIGNALS_H__ */
|
@@ -0,0 +1,63 @@
|
|
1
|
+
/* Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
* contributor license agreements. See the NOTICE file distributed with
|
3
|
+
* this work for additional information regarding copyright ownership.
|
4
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
5
|
+
* (the "License"); you may not use this file except in compliance with
|
6
|
+
* the License. You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
#ifndef __VERSION_H__
|
18
|
+
#define __VERSION_H__
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Major API changes that could cause compatibility problems for older
|
22
|
+
* programs such as structure size changes. No binary compatibility is
|
23
|
+
* possible across a change in the major version.
|
24
|
+
*/
|
25
|
+
#define JSVC_MAJOR_VERSION 1
|
26
|
+
|
27
|
+
/**
|
28
|
+
* Minor API changes that do not cause binary compatibility problems.
|
29
|
+
* Should be reset to 0 when upgrading JSVC_MAJOR_VERSION
|
30
|
+
*/
|
31
|
+
#define JSVC_MINOR_VERSION 0
|
32
|
+
|
33
|
+
/** patch level */
|
34
|
+
#define JSVC_PATCH_VERSION 10
|
35
|
+
|
36
|
+
/**
|
37
|
+
* This symbol is defined for internal, "development" copies of JSVC.
|
38
|
+
* This symbol will be #undef'd for releases.
|
39
|
+
*/
|
40
|
+
#define JSVC_IS_DEV_VERSION 0
|
41
|
+
|
42
|
+
/** Properly quote a value as a string in the C preprocessor */
|
43
|
+
#define JSVC_STRINGIFY(n) JSVC_STRINGIFY_HELPER(n)
|
44
|
+
/** Helper macro for JSVC_STRINGIFY */
|
45
|
+
#define JSVC_STRINGIFY_HELPER(n) #n
|
46
|
+
|
47
|
+
|
48
|
+
/** The formatted string of APU's version */
|
49
|
+
#define JSVC_VERSION_STRING \
|
50
|
+
JSVC_STRINGIFY(JSVC_MAJOR_VERSION) "." \
|
51
|
+
JSVC_STRINGIFY(JSVC_MINOR_VERSION) "." \
|
52
|
+
JSVC_STRINGIFY(JSVC_PATCH_VERSION) \
|
53
|
+
JSVC_IS_DEV_STRING
|
54
|
+
|
55
|
+
/** Internal: string form of the "is dev" flag */
|
56
|
+
#if JSVC_IS_DEV_VERSION
|
57
|
+
#define JSVC_IS_DEV_STRING "-dev"
|
58
|
+
#else
|
59
|
+
#define JSVC_IS_DEV_STRING ""
|
60
|
+
#endif
|
61
|
+
|
62
|
+
#endif /* __VERSION_H__ */
|
63
|
+
|
@@ -0,0 +1,110 @@
|
|
1
|
+
dnl
|
2
|
+
dnl Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
dnl contributor license agreements. See the NOTICE file distributed with
|
4
|
+
dnl this work for additional information regarding copyright ownership.
|
5
|
+
dnl The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
dnl (the "License"); you may not use this file except in compliance with
|
7
|
+
dnl the License. You may obtain a copy of the License at
|
8
|
+
dnl
|
9
|
+
dnl http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
dnl
|
11
|
+
dnl Unless required by applicable law or agreed to in writing, software
|
12
|
+
dnl distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
dnl See the License for the specific language governing permissions and
|
15
|
+
dnl limitations under the License.
|
16
|
+
dnl
|
17
|
+
|
18
|
+
dnl -------------------------------------------------------------------------
|
19
|
+
dnl Author Pier Fumagalli <mailto:pier.fumagalli@eng.sun.com>
|
20
|
+
dnl Version $Id: apfunctions.m4 1003756 2010-10-02 08:59:48Z mturk $
|
21
|
+
dnl -------------------------------------------------------------------------
|
22
|
+
|
23
|
+
AC_DEFUN(AP_MSG_HEADER,[
|
24
|
+
printf "*** %s ***\n" "$1" 1>&2
|
25
|
+
AC_PROVIDE([$0])
|
26
|
+
])
|
27
|
+
|
28
|
+
AC_DEFUN(AP_CANONICAL_HOST_CHECK,[
|
29
|
+
AC_MSG_CHECKING([cached host system type])
|
30
|
+
if { test x"${ac_cv_host_system_type+set}" = x"set" &&
|
31
|
+
test x"$ac_cv_host_system_type" != x"$host" ; }
|
32
|
+
then
|
33
|
+
AC_MSG_RESULT([$ac_cv_host_system_type])
|
34
|
+
AC_MSG_ERROR([remove the \"$cache_file\" file and re-run configure])
|
35
|
+
else
|
36
|
+
AC_MSG_RESULT(ok)
|
37
|
+
ac_cv_host_system_type="$host"
|
38
|
+
fi
|
39
|
+
AC_PROVIDE([$0])
|
40
|
+
])
|
41
|
+
|
42
|
+
dnl Iteratively interpolate the contents of the second argument
|
43
|
+
dnl until interpolation offers no new result. Then assign the
|
44
|
+
dnl final result to $1.
|
45
|
+
dnl
|
46
|
+
dnl Example:
|
47
|
+
dnl
|
48
|
+
dnl foo=1
|
49
|
+
dnl bar='${foo}/2'
|
50
|
+
dnl baz='${bar}/3'
|
51
|
+
dnl AP_EXPAND_VAR(fraz, $baz)
|
52
|
+
dnl $fraz is now "1/2/3"
|
53
|
+
dnl
|
54
|
+
AC_DEFUN([AP_EXPAND_VAR], [
|
55
|
+
ap_last=
|
56
|
+
ap_cur="$2"
|
57
|
+
while test "x${ap_cur}" != "x${ap_last}";
|
58
|
+
do
|
59
|
+
ap_last="${ap_cur}"
|
60
|
+
ap_cur=`eval "echo ${ap_cur}"`
|
61
|
+
done
|
62
|
+
$1="${ap_cur}"
|
63
|
+
])
|
64
|
+
|
65
|
+
dnl
|
66
|
+
dnl AP_CONFIG_NICE(filename)
|
67
|
+
dnl
|
68
|
+
dnl Saves a snapshot of the configure command-line for later reuse
|
69
|
+
dnl
|
70
|
+
AC_DEFUN([AP_CONFIG_NICE], [
|
71
|
+
rm -f $1
|
72
|
+
cat >$1<<EOF
|
73
|
+
#! /bin/sh
|
74
|
+
#
|
75
|
+
# Created by configure
|
76
|
+
|
77
|
+
EOF
|
78
|
+
if test -n "$CC"; then
|
79
|
+
echo "CC=\"$CC\"; export CC" >> $1
|
80
|
+
fi
|
81
|
+
if test -n "$CFLAGS"; then
|
82
|
+
echo "CFLAGS=\"$CFLAGS\"; export CFLAGS" >> $1
|
83
|
+
fi
|
84
|
+
if test -n "$CPPFLAGS"; then
|
85
|
+
echo "CPPFLAGS=\"$CPPFLAGS\"; export CPPFLAGS" >> $1
|
86
|
+
fi
|
87
|
+
if test -n "$LDFLAGS"; then
|
88
|
+
echo "LDFLAGS=\"$LDFLAGS\"; export LDFLAGS" >> $1
|
89
|
+
fi
|
90
|
+
if test -n "$LIBS"; then
|
91
|
+
echo "LIBS=\"$LIBS\"; export LIBS" >> $1
|
92
|
+
fi
|
93
|
+
if test -n "$STRIPFLAGS"; then
|
94
|
+
echo "STRIPFLAGS=\"$STRIPFLAGS\"; export STRIPFLAGS" >> $1
|
95
|
+
fi
|
96
|
+
if test -n "$INCLUDES"; then
|
97
|
+
echo "INCLUDES=\"$INCLUDES\"; export INCLUDES" >> $1
|
98
|
+
fi
|
99
|
+
# Retrieve command-line arguments.
|
100
|
+
eval "set x $[0] $ac_configure_args"
|
101
|
+
shift
|
102
|
+
|
103
|
+
for arg
|
104
|
+
do
|
105
|
+
AP_EXPAND_VAR(arg, $arg)
|
106
|
+
echo "\"[$]arg\" \\" >> $1
|
107
|
+
done
|
108
|
+
echo '"[$]@"' >> $1
|
109
|
+
chmod +x $1
|
110
|
+
])dnl
|
@@ -0,0 +1,94 @@
|
|
1
|
+
dnl
|
2
|
+
dnl Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
dnl contributor license agreements. See the NOTICE file distributed with
|
4
|
+
dnl this work for additional information regarding copyright ownership.
|
5
|
+
dnl The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
dnl (the "License"); you may not use this file except in compliance with
|
7
|
+
dnl the License. You may obtain a copy of the License at
|
8
|
+
dnl
|
9
|
+
dnl http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
dnl
|
11
|
+
dnl Unless required by applicable law or agreed to in writing, software
|
12
|
+
dnl distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
dnl See the License for the specific language governing permissions and
|
15
|
+
dnl limitations under the License.
|
16
|
+
dnl
|
17
|
+
|
18
|
+
dnl -------------------------------------------------------------------------
|
19
|
+
dnl Author Pier Fumagalli
|
20
|
+
dnl Author Mladen Turk
|
21
|
+
dnl Version $Id: apjava.m4 1196262 2011-11-01 20:35:39Z mturk $
|
22
|
+
dnl -------------------------------------------------------------------------
|
23
|
+
|
24
|
+
AC_DEFUN([AP_FIND_JAVA],[
|
25
|
+
AC_ARG_WITH(java,[ --with-java=DIR Specify the location of your JDK installation],[
|
26
|
+
AC_MSG_CHECKING([JAVA_HOME])
|
27
|
+
if test -d "$withval"
|
28
|
+
then
|
29
|
+
JAVA_HOME="$withval"
|
30
|
+
AC_MSG_RESULT([$JAVA_HOME])
|
31
|
+
else
|
32
|
+
AC_MSG_RESULT([failed])
|
33
|
+
AC_MSG_ERROR([$withval is not a directory])
|
34
|
+
fi
|
35
|
+
AC_SUBST(JAVA_HOME)
|
36
|
+
])
|
37
|
+
if test "x$JAVA_HOME" = x
|
38
|
+
then
|
39
|
+
AC_MSG_CHECKING([for JDK location])
|
40
|
+
# Oh well, nobody set JAVA_HOME, have to guess
|
41
|
+
# Check if we have java in the PATH.
|
42
|
+
java_prog="`which java 2>/dev/null || true`"
|
43
|
+
if test "x$java_prog" != x
|
44
|
+
then
|
45
|
+
java_bin="`dirname $java_prog`"
|
46
|
+
java_top="`dirname $java_bin`"
|
47
|
+
if test -f "$java_top/include/jni.h"
|
48
|
+
then
|
49
|
+
JAVA_HOME="$java_top"
|
50
|
+
AC_MSG_RESULT([${java_top}])
|
51
|
+
fi
|
52
|
+
fi
|
53
|
+
fi
|
54
|
+
if test x"$JAVA_HOME" = x
|
55
|
+
then
|
56
|
+
AC_MSG_ERROR([Java Home not defined. Rerun with --with-java=[...] parameter])
|
57
|
+
fi
|
58
|
+
])
|
59
|
+
|
60
|
+
AC_DEFUN([AP_FIND_JAVA_OS],[
|
61
|
+
tempval=""
|
62
|
+
JAVA_OS=""
|
63
|
+
AC_ARG_WITH(os-type,[ --with-os-type[=SUBDIR] Location of JDK os-type subdirectory.],
|
64
|
+
[
|
65
|
+
tempval=$withval
|
66
|
+
if test ! -d "$JAVA_HOME/$tempval"
|
67
|
+
then
|
68
|
+
AC_MSG_ERROR(Not a directory: ${JAVA_HOME}/${tempval})
|
69
|
+
fi
|
70
|
+
JAVA_OS=$tempval
|
71
|
+
],
|
72
|
+
[
|
73
|
+
AC_MSG_CHECKING(for JDK os include directory)
|
74
|
+
JAVA_OS=NONE
|
75
|
+
if test -f $JAVA_HOME/$JAVA_INC/jni_md.h
|
76
|
+
then
|
77
|
+
JAVA_OS=""
|
78
|
+
else
|
79
|
+
for f in $JAVA_HOME/$JAVA_INC/*/jni_md.h
|
80
|
+
do
|
81
|
+
if test -f $f; then
|
82
|
+
JAVA_OS=`dirname $f`
|
83
|
+
JAVA_OS=`basename $JAVA_OS`
|
84
|
+
echo " $JAVA_OS"
|
85
|
+
break
|
86
|
+
fi
|
87
|
+
done
|
88
|
+
if test "x$JAVA_OS" = "xNONE"; then
|
89
|
+
AC_MSG_RESULT(Cannot find jni_md.h in ${JAVA_HOME}/${OS})
|
90
|
+
AC_MSG_ERROR(You should retry --with-os-type=SUBDIR)
|
91
|
+
fi
|
92
|
+
fi
|
93
|
+
])
|
94
|
+
])
|