Darwin support patch. See bug 321633.
diff --git a/tools/sci/org.eclipse.ptp.sci/.cproject b/tools/sci/org.eclipse.ptp.sci/.cproject
index 38d8996..427512f 100644
--- a/tools/sci/org.eclipse.ptp.sci/.cproject
+++ b/tools/sci/org.eclipse.ptp.sci/.cproject
@@ -208,12 +208,19 @@
<buildTargets>
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
- <buildArguments/>
<buildTarget>all</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
+ <target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
+ <buildCommand>make</buildCommand>
+ <buildArguments/>
+ <buildTarget>clean</buildTarget>
+ <stopOnError>true</stopOnError>
+ <useDefaultCommand>true</useDefaultCommand>
+ <runAllBuilders>true</runAllBuilders>
+ </target>
</buildTargets>
</storageModule>
</cconfiguration>
diff --git a/tools/sci/org.eclipse.ptp.sci/Makefile.in b/tools/sci/org.eclipse.ptp.sci/Makefile.in
index 8bc8b88..27b5460 100644
--- a/tools/sci/org.eclipse.ptp.sci/Makefile.in
+++ b/tools/sci/org.eclipse.ptp.sci/Makefile.in
@@ -130,6 +130,10 @@
STRIP = @STRIP@
SYSTEM_AIX_FALSE = @SYSTEM_AIX_FALSE@
SYSTEM_AIX_TRUE = @SYSTEM_AIX_TRUE@
+SYSTEM_DARWIN_FALSE = @SYSTEM_DARWIN_FALSE@
+SYSTEM_DARWIN_TRUE = @SYSTEM_DARWIN_TRUE@
+SYSTEM_LINUX_FALSE = @SYSTEM_LINUX_FALSE@
+SYSTEM_LINUX_TRUE = @SYSTEM_LINUX_TRUE@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
diff --git a/tools/sci/org.eclipse.ptp.sci/common/Makefile.in b/tools/sci/org.eclipse.ptp.sci/common/Makefile.in
index 23e42c7..740c05d 100644
--- a/tools/sci/org.eclipse.ptp.sci/common/Makefile.in
+++ b/tools/sci/org.eclipse.ptp.sci/common/Makefile.in
@@ -147,6 +147,10 @@
STRIP = @STRIP@
SYSTEM_AIX_FALSE = @SYSTEM_AIX_FALSE@
SYSTEM_AIX_TRUE = @SYSTEM_AIX_TRUE@
+SYSTEM_DARWIN_FALSE = @SYSTEM_DARWIN_FALSE@
+SYSTEM_DARWIN_TRUE = @SYSTEM_DARWIN_TRUE@
+SYSTEM_LINUX_FALSE = @SYSTEM_LINUX_FALSE@
+SYSTEM_LINUX_TRUE = @SYSTEM_LINUX_TRUE@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
diff --git a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp b/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp
index 4698a11..260e2ca 100644
--- a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp
+++ b/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp
@@ -34,7 +34,7 @@
: ip_addr("")
{
int ret = 0;
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
ret = ::getifaddrs(&ifa);
if (ret != 0) {
throw Exception(Exception::SYS_CALL);
@@ -66,7 +66,7 @@
IPConverter::~IPConverter()
{
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
if (ifa) {
::freeifaddrs(ifa);
ifa = NULL;
@@ -108,14 +108,14 @@
int IPConverter::getIP(const string &ifname, bool ipv4)
{
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
return getIPLinux(ifname, ipv4);
#else
return getIPAIX(ifname, ipv4);
#endif
}
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
int IPConverter::getIPLinux(const string &ifname, bool ipv4)
{
diff --git a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp b/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp
index f2d0047..05666d3 100644
--- a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp
+++ b/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp
@@ -30,7 +30,7 @@
#include "config.h"
#endif
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
@@ -53,7 +53,7 @@
struct sockaddr_in sin;
struct sockaddr_in6 sin6;
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
struct ifaddrs *ifa;
#else /* AIX */
struct ifconf ifc;
@@ -70,7 +70,7 @@
private:
int getIP(const string &ifname, bool ipv4);
-#ifdef _SCI_LINUX
+#if defined(_SCI_LINUX) || defined(__APPLE__)
int getIPLinux(const string &ifname, bool ipv4);
#else /* AIX */
#define REAL_SIZE(a) (((a).sa_len) > (sizeof(a)) ? ((a).sa_len) : (sizeof(a)))
diff --git a/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp b/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp
index 23a0312..9b1c08e 100644
--- a/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp
+++ b/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp
@@ -61,11 +61,9 @@
free_id_token(&user_token);
}
+#ifdef PSEC_OPEN_SSL
int SshFunc::load(char * libPath)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
int rc = -1;
string path = "";
string auth_mod = "";
@@ -152,97 +150,61 @@
int SshFunc::set_auth_module(char *name, char *fpath, char *opts)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return set_auth_module_hndlr(name, fpath, opts, &mdlhndl);
}
int SshFunc::get_id_token(char *tname, char *thost, psec_idbuf_t idtok)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return get_id_token_hndlr(mdlhndl, tname, thost, idtok);
}
int SshFunc::verify_id_token(char *uname, psec_idbuf_t idtok)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return verify_id_token_hndlr(mdlhndl, uname, idtok);
}
int SshFunc::get_id_from_token(psec_idbuf_t idtok, char *usrid, size_t *usridlen)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return get_id_from_token_hndlr(mdlhndl, idtok, usrid, usridlen);
}
int SshFunc::free_id_token(psec_idbuf_t id)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return free_id_token_hndlr(mdlhndl, id);
}
int SshFunc::get_key_from_token(char *uname, psec_idbuf_t idtok , char *key, size_t *keylen)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return get_key_from_token_hndlr(mdlhndl, uname, idtok, key, keylen);
}
int SshFunc::sign_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return sign_data_hndlr(mdlhndl, key, keylen, inbufs, num_bufs, sigbufs);
}
int SshFunc::verify_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return verify_data_hndlr(mdlhndl, key, keylen, inbufs, num_bufs, sigbufs);
}
int SshFunc::sign_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return sign_data_hndlr(mdlhndl, session_key, key_len, inbufs, num_bufs, sigbufs);
}
int SshFunc::verify_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return verify_data_hndlr(mdlhndl, session_key, key_len, inbufs, num_bufs, sigbufs);
}
int SshFunc::free_signature(struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
return free_signature_hndlr(mdlhndl, sigbufs);
}
int SshFunc::sign_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
int i, rc;
struct iovec *tmp_bufs = new struct iovec[num_bufs];
@@ -258,9 +220,6 @@
int SshFunc::verify_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
int i, rc;
struct iovec *tmp_bufs = new struct iovec[num_bufs];
@@ -276,9 +235,6 @@
int SshFunc::sign_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
int i, rc;
struct iovec *tmp_bufs = new struct iovec[num_bufs];
@@ -294,9 +250,6 @@
int SshFunc::verify_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
int i, rc;
struct iovec *tmp_bufs = new struct iovec[num_bufs];
@@ -312,9 +265,6 @@
int SshFunc::set_user_token(struct iovec *token)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
free_id_token(&user_token);
user_token.iov_len = token->iov_len;
user_token.iov_base = new char [token->iov_len];
@@ -326,11 +276,99 @@
int SshFunc::set_session_key(struct iovec *sskey)
{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
key_len = sskey->iov_len;
memcpy(session_key, sskey->iov_base, key_len);
return 0;
}
+#else /* PSEC_OPEN_SSL */
+int SshFunc::load(char * libPath)
+{
+ return 0;
+}
+
+int SshFunc::set_auth_module(char *name, char *fpath, char *opts)
+{
+ return 0;
+}
+
+int SshFunc::get_id_token(char *tname, char *thost, psec_idbuf_t idtok)
+{
+ return 0;
+}
+
+int SshFunc::verify_id_token(char *uname, psec_idbuf_t idtok)
+{
+ return 0;
+}
+
+int SshFunc::get_id_from_token(psec_idbuf_t idtok, char *usrid, size_t *usridlen)
+{
+ return 0;
+}
+
+int SshFunc::free_id_token(psec_idbuf_t id)
+{
+ return 0;
+}
+
+int SshFunc::get_key_from_token(char *uname, psec_idbuf_t idtok , char *key, size_t *keylen)
+{
+ return 0;
+}
+
+int SshFunc::sign_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::verify_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::sign_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::verify_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::free_signature(struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::sign_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::verify_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::sign_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::verify_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
+{
+ return 0;
+}
+
+int SshFunc::set_user_token(struct iovec *token)
+{
+ return 0;
+}
+
+int SshFunc::set_session_key(struct iovec *sskey)
+{
+ return 0;
+}
+#endif /* PSEC_OPEN_SSL */
diff --git a/tools/sci/org.eclipse.ptp.sci/configure b/tools/sci/org.eclipse.ptp.sci/configure
index cdbf15b..9e37447 100755
--- a/tools/sci/org.eclipse.ptp.sci/configure
+++ b/tools/sci/org.eclipse.ptp.sci/configure
@@ -872,8 +872,12 @@
LIBTOOL
OPEN_SSL_TRUE
OPEN_SSL_FALSE
+SYSTEM_LINUX_TRUE
+SYSTEM_LINUX_FALSE
SYSTEM_AIX_TRUE
SYSTEM_AIX_FALSE
+SYSTEM_DARWIN_TRUE
+SYSTEM_DARWIN_FALSE
LIBOBJS
LTLIBOBJS'
ac_subst_files=''
@@ -4765,7 +4769,7 @@
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4768 "configure"' > conftest.$ac_ext
+ echo '#line 4772 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7024,11 +7028,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7027: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7031: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7031: \$? = $ac_status" >&5
+ echo "$as_me:7035: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7292,11 +7296,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7295: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7299: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7299: \$? = $ac_status" >&5
+ echo "$as_me:7303: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7396,11 +7400,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7399: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7403: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7403: \$? = $ac_status" >&5
+ echo "$as_me:7407: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8861,7 +8865,7 @@
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 8864 "configure"' > conftest.$ac_ext
+ echo '#line 8868 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -9725,7 +9729,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9728 "configure"
+#line 9732 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9825,7 +9829,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9828 "configure"
+#line 9832 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12164,11 +12168,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12167: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12171: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12171: \$? = $ac_status" >&5
+ echo "$as_me:12175: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12268,11 +12272,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12271: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12275: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12275: \$? = $ac_status" >&5
+ echo "$as_me:12279: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12804,7 +12808,7 @@
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 12807 "configure"' > conftest.$ac_ext
+ echo '#line 12811 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -13862,11 +13866,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13865: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13869: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13869: \$? = $ac_status" >&5
+ echo "$as_me:13873: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13966,11 +13970,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13969: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13973: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13973: \$? = $ac_status" >&5
+ echo "$as_me:13977: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15411,7 +15415,7 @@
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 15414 "configure"' > conftest.$ac_ext
+ echo '#line 15418 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -16188,11 +16192,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16191: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16195: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16195: \$? = $ac_status" >&5
+ echo "$as_me:16199: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16456,11 +16460,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16459: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16463: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16463: \$? = $ac_status" >&5
+ echo "$as_me:16467: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16560,11 +16564,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16563: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16567: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16567: \$? = $ac_status" >&5
+ echo "$as_me:16571: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -18025,7 +18029,7 @@
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 18028 "configure"' > conftest.$ac_ext
+ echo '#line 18032 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -19291,6 +19295,9 @@
CC=xlc_r
;;
+ Darwin)
+ # Nothing required yet
+ ;;
esac
case "${UNAME_MACHINE}" in
*86*)
@@ -19503,6 +19510,16 @@
+if test $UNAME_SYSTEM = Linux; then
+ SYSTEM_LINUX_TRUE=
+ SYSTEM_LINUX_FALSE='#'
+else
+ SYSTEM_LINUX_TRUE='#'
+ SYSTEM_LINUX_FALSE=
+fi
+
+
+
if test $UNAME_SYSTEM = AIX; then
SYSTEM_AIX_TRUE=
SYSTEM_AIX_FALSE='#'
@@ -19513,6 +19530,15 @@
+if test $UNAME_SYSTEM = Darwin; then
+ SYSTEM_DARWIN_TRUE=
+ SYSTEM_DARWIN_FALSE='#'
+else
+ SYSTEM_DARWIN_TRUE='#'
+ SYSTEM_DARWIN_FALSE=
+fi
+
+
# Checks for header files.
# AC_HEADER_STDC
# AC_HEADER_SYS_WAIT
@@ -19663,6 +19689,13 @@
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${SYSTEM_LINUX_TRUE}" && test -z "${SYSTEM_LINUX_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"SYSTEM_LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"SYSTEM_LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${SYSTEM_AIX_TRUE}" && test -z "${SYSTEM_AIX_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"SYSTEM_AIX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -19670,6 +19703,13 @@
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${SYSTEM_DARWIN_TRUE}" && test -z "${SYSTEM_DARWIN_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"SYSTEM_DARWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"SYSTEM_DARWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
@@ -20350,13 +20390,17 @@
LIBTOOL!$LIBTOOL$ac_delim
OPEN_SSL_TRUE!$OPEN_SSL_TRUE$ac_delim
OPEN_SSL_FALSE!$OPEN_SSL_FALSE$ac_delim
+SYSTEM_LINUX_TRUE!$SYSTEM_LINUX_TRUE$ac_delim
+SYSTEM_LINUX_FALSE!$SYSTEM_LINUX_FALSE$ac_delim
SYSTEM_AIX_TRUE!$SYSTEM_AIX_TRUE$ac_delim
SYSTEM_AIX_FALSE!$SYSTEM_AIX_FALSE$ac_delim
+SYSTEM_DARWIN_TRUE!$SYSTEM_DARWIN_TRUE$ac_delim
+SYSTEM_DARWIN_FALSE!$SYSTEM_DARWIN_FALSE$ac_delim
LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 10; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 14; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/tools/sci/org.eclipse.ptp.sci/configure.in b/tools/sci/org.eclipse.ptp.sci/configure.in
index 9c580ab..e57cd0b 100644
--- a/tools/sci/org.eclipse.ptp.sci/configure.in
+++ b/tools/sci/org.eclipse.ptp.sci/configure.in
@@ -28,6 +28,9 @@
AC_DEFINE(__64BIT__, 1, "define if 64 bit")
CC=xlc_r
;;
+ Darwin)
+ # Nothing required yet
+ ;;
esac
case "${UNAME_MACHINE}" in
*86*)
@@ -59,8 +62,9 @@
openssl=no
])
AM_CONDITIONAL(OPEN_SSL, test $openssl = yes)
+AM_CONDITIONAL(SYSTEM_LINUX, test $UNAME_SYSTEM = Linux)
AM_CONDITIONAL(SYSTEM_AIX, test $UNAME_SYSTEM = AIX)
-
+AM_CONDITIONAL(SYSTEM_DARWIN, test $UNAME_SYSTEM = Darwin)
# Checks for header files.
# AC_HEADER_STDC
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am b/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am
index e7384c4..d83888f 100644
--- a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am
+++ b/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am
@@ -32,9 +32,16 @@
%.64o: %.cpp
$(CXX) -q64 -c $(SCI_CPPFLAGS) -o $@ $<
-else
+endif
+if SYSTEM_LINUX
lib_LTLIBRARIES=libsci.la
libsci_la_SOURCES = $(SOURCES)
libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
libsci_la_LDFLAGS= -L../common -lcmn -lrt
endif
+if SYSTEM_DARWIN
+lib_LTLIBRARIES=libsci.la
+libsci_la_SOURCES = $(SOURCES)
+libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
+libsci_la_LDFLAGS= -L../common -lcmn
+endif
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in b/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in
index 691a5a1..a3b5057 100644
--- a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in
+++ b/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in
@@ -88,9 +88,12 @@
libsci_la-errinjector.lo libsci_la-filterlist.lo \
libsci_la-listener.lo libsci_la-processor.lo \
libsci_la-routerproc.lo libsci_la-writerproc.lo
-@SYSTEM_AIX_FALSE@am_libsci_la_OBJECTS = $(am__objects_1)
+@SYSTEM_DARWIN_FALSE@@SYSTEM_LINUX_TRUE@am_libsci_la_OBJECTS = \
+@SYSTEM_DARWIN_FALSE@@SYSTEM_LINUX_TRUE@ $(am__objects_1)
+@SYSTEM_DARWIN_TRUE@am_libsci_la_OBJECTS = $(am__objects_1)
libsci_la_OBJECTS = $(am_libsci_la_OBJECTS)
-@SYSTEM_AIX_FALSE@am_libsci_la_rpath = -rpath $(libdir)
+@SYSTEM_DARWIN_TRUE@am_libsci_la_rpath = -rpath $(libdir)
+@SYSTEM_LINUX_TRUE@am_libsci_la_rpath = -rpath $(libdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -174,6 +177,10 @@
STRIP = @STRIP@
SYSTEM_AIX_FALSE = @SYSTEM_AIX_FALSE@
SYSTEM_AIX_TRUE = @SYSTEM_AIX_TRUE@
+SYSTEM_DARWIN_FALSE = @SYSTEM_DARWIN_FALSE@
+SYSTEM_DARWIN_TRUE = @SYSTEM_DARWIN_TRUE@
+SYSTEM_LINUX_FALSE = @SYSTEM_LINUX_FALSE@
+SYSTEM_LINUX_TRUE = @SYSTEM_LINUX_TRUE@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
@@ -240,10 +247,14 @@
OBJECTS64 = $(addsuffix .64o, $(basename $(SOURCES)))
@SYSTEM_AIX_TRUE@lib_LIBRARIES = libsci_r.a
@SYSTEM_AIX_TRUE@SCI_CPPFLAGS = -g -O0 -DREENTRANT -D_SCI_DEBUG -I../include -I../common -I../libsci -I../ -I../secmod -qmkshrobj
-@SYSTEM_AIX_FALSE@lib_LTLIBRARIES = libsci.la
-@SYSTEM_AIX_FALSE@libsci_la_SOURCES = $(SOURCES)
-@SYSTEM_AIX_FALSE@libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
-@SYSTEM_AIX_FALSE@libsci_la_LDFLAGS = -L../common -lcmn -lrt
+@SYSTEM_DARWIN_TRUE@lib_LTLIBRARIES = libsci.la
+@SYSTEM_LINUX_TRUE@lib_LTLIBRARIES = libsci.la
+@SYSTEM_DARWIN_TRUE@libsci_la_SOURCES = $(SOURCES)
+@SYSTEM_LINUX_TRUE@libsci_la_SOURCES = $(SOURCES)
+@SYSTEM_DARWIN_TRUE@libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
+@SYSTEM_LINUX_TRUE@libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
+@SYSTEM_DARWIN_TRUE@libsci_la_LDFLAGS = -L../common -lcmn
+@SYSTEM_LINUX_TRUE@libsci_la_LDFLAGS = -L../common -lcmn -lrt
all: all-am
.SUFFIXES:
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp
index fa694e6..6b05a2a 100644
--- a/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp
+++ b/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp
@@ -32,7 +32,7 @@
#include <assert.h>
#include <pthread.h>
-#ifdef _SCI_LINUX // Linux
+#if defined(_SCI_LINUX) // Linux
/**********************************************************************
*
@@ -40,7 +40,6 @@
*
**********************************************************************/
typedef int *atomic_p;
-typedef long long *atomic_l;
typedef int boolean_t;
typedef unsigned int uint;
@@ -99,6 +98,25 @@
#endif /* INTEL_ARCH */
+#elif defined(__APPLE__)
+#include <libkern/OSAtomic.h>
+typedef int *atomic_p;
+
+/*
+ * We need to implement fetch_and_add using a
+ * splinlock as the OSAtomicAdd functions return
+ * the new value, not the old value.
+ */
+static __inline__
+int fetch_and_add(atomic_p ptr, int val) {
+ int old_val;
+ OSSpinLock lock = 0;
+ OSSpinLockLock(&lock);
+ old_val = *ptr;
+ *ptr += val;
+ OSSpinLockUnlock(&lock);
+ return old_val;
+}
#else // AIX
#include <sys/atomic_op.h>
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp
index 6a492fe..e578ee6 100644
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp
+++ b/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp
@@ -102,8 +102,10 @@
int Filter::load()
{
-#ifdef _SCI_LINUX // Linux
+#if defined(_SCI_LINUX) // Linux
file = ::dlopen(info.so_file, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND);
+#elif defined(__APPLE__)
+ file = ::dlopen(info.so_file, RTLD_NOW | RTLD_GLOBAL);
#else // aix
file = ::dlopen(info.so_file, RTLD_NOW | RTLD_GLOBAL | RTLD_MEMBER);
#endif
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp
index f544c11..96b1a9a 100644
--- a/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp
+++ b/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp
@@ -221,11 +221,15 @@
int MessageQueue::sem_wait_i(sem_t *psem, int usecs)
{
int rc = 0;
+#ifdef __APPLE__
+ int sleep_time = usecs > 10 ? 10 : usecs;
+#endif
if (usecs < 0) {
while (((rc = ::sem_wait(psem)) != 0) && (errno == EINTR));
return rc;
} else {
+#ifndef __APPLE__
timespec ts;
::clock_gettime(CLOCK_REALTIME, &ts); // get current time
ts.tv_nsec += (usecs % 1000000) * 1000;
@@ -234,6 +238,14 @@
ts.tv_sec += (usecs / 1000000) + ca;
while (((rc=::sem_timedwait(psem, &ts))!=0) && (errno == EINTR));
+#else
+ while (((rc = sem_trywait(psem)) != 0)
+ && ((errno == EAGAIN) || (errno == EINTR))
+ && (usecs > 0)) {
+ usleep(sleep_time);
+ usecs -= sleep_time;
+ }
+#endif
return rc;
}
}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp
index f7601e9..6e539fa 100644
--- a/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp
+++ b/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp
@@ -58,6 +58,10 @@
const int ONE_KK = 1024 * 1024;
const int SCI_DAEMON_PORT = 6688;
+#ifdef __APPLE__
+extern char **environ;
+#endif
+
int BEMap::input(const char * filename, int num)
{
FILE *fp = NULL;
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am b/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am
index fa25903..f0b56c9 100644
--- a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am
+++ b/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am
@@ -3,7 +3,12 @@
if SYSTEM_AIX
scia_CPPFLAGS = -q64 -I../common -I../include
scia_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
-else
+endif
+if SYSTEM_LINUX
scia_CPPFLAGS = -I../common -I../include
scia_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
endif
+if SYSTEM_DARWIN
+scia_CPPFLAGS = -I../common -I../include
+scia_LDFLAGS = -L../common -lcmn -lpthread -ldl
+endif
\ No newline at end of file
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in b/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in
index b02ac33..e5fcccb 100644
--- a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in
+++ b/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in
@@ -126,6 +126,10 @@
STRIP = @STRIP@
SYSTEM_AIX_FALSE = @SYSTEM_AIX_FALSE@
SYSTEM_AIX_TRUE = @SYSTEM_AIX_TRUE@
+SYSTEM_DARWIN_FALSE = @SYSTEM_DARWIN_FALSE@
+SYSTEM_DARWIN_TRUE = @SYSTEM_DARWIN_TRUE@
+SYSTEM_LINUX_FALSE = @SYSTEM_LINUX_FALSE@
+SYSTEM_LINUX_TRUE = @SYSTEM_LINUX_TRUE@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
@@ -175,10 +179,12 @@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
scia_SOURCES = scia.cpp
-@SYSTEM_AIX_FALSE@scia_CPPFLAGS = -I../common -I../include
@SYSTEM_AIX_TRUE@scia_CPPFLAGS = -q64 -I../common -I../include
-@SYSTEM_AIX_FALSE@scia_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
+@SYSTEM_DARWIN_TRUE@scia_CPPFLAGS = -I../common -I../include
+@SYSTEM_LINUX_TRUE@scia_CPPFLAGS = -I../common -I../include
@SYSTEM_AIX_TRUE@scia_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
+@SYSTEM_DARWIN_TRUE@scia_LDFLAGS = -L../common -lcmn -lpthread -ldl
+@SYSTEM_LINUX_TRUE@scia_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
all: all-am
.SUFFIXES:
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp b/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp
index 7466256..ca8dae4 100644
--- a/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp
+++ b/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp
@@ -60,7 +60,7 @@
char *error = NULL;
int rc;
-#ifdef _SCI_LINUX // Linux
+#if defined(_SCI_LINUX) || defined(__APPLE__)
dlopen_file = ::dlopen(SCI_LIB_PATH, RTLD_NOW|RTLD_GLOBAL);
#else // aix
dlopen_file = ::dlopen(SCI_LIB_PATH, RTLD_NOW|RTLD_GLOBAL|RTLD_MEMBER);
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am b/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am
index c531494..08c1b81 100644
--- a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am
+++ b/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am
@@ -4,7 +4,12 @@
if SYSTEM_AIX
scidv1_CPPFLAGS = -q64 -I../common -I../secmod
scidv1_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
-else
+endif
+if SYSTEM_LINUX
scidv1_CPPFLAGS = -I../common -I../secmod
scidv1_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
endif
+if SYSTEM_DARWIN
+scidv1_CPPFLAGS = -I../common -I../secmod
+scidv1_LDFLAGS = -L../common -lcmn -lpthread -ldl
+endif
\ No newline at end of file
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in b/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in
index d9474f8..9a6d2d8 100644
--- a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in
+++ b/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in
@@ -128,6 +128,10 @@
STRIP = @STRIP@
SYSTEM_AIX_FALSE = @SYSTEM_AIX_FALSE@
SYSTEM_AIX_TRUE = @SYSTEM_AIX_TRUE@
+SYSTEM_DARWIN_FALSE = @SYSTEM_DARWIN_FALSE@
+SYSTEM_DARWIN_TRUE = @SYSTEM_DARWIN_TRUE@
+SYSTEM_LINUX_FALSE = @SYSTEM_LINUX_FALSE@
+SYSTEM_LINUX_TRUE = @SYSTEM_LINUX_TRUE@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
@@ -177,10 +181,12 @@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
scidv1_SOURCES = extlaunch.cpp extlisten.cpp locker.cpp scid.cpp
-@SYSTEM_AIX_FALSE@scidv1_CPPFLAGS = -I../common -I../secmod
@SYSTEM_AIX_TRUE@scidv1_CPPFLAGS = -q64 -I../common -I../secmod
-@SYSTEM_AIX_FALSE@scidv1_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
+@SYSTEM_DARWIN_TRUE@scidv1_CPPFLAGS = -I../common -I../secmod
+@SYSTEM_LINUX_TRUE@scidv1_CPPFLAGS = -I../common -I../secmod
@SYSTEM_AIX_TRUE@scidv1_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
+@SYSTEM_DARWIN_TRUE@scidv1_LDFLAGS = -L../common -lcmn -lpthread -ldl
+@SYSTEM_LINUX_TRUE@scidv1_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
all: all-am
.SUFFIXES:
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in b/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in
index ac223b7..5172752 100644
--- a/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in
+++ b/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in
@@ -149,6 +149,10 @@
STRIP = @STRIP@
SYSTEM_AIX_FALSE = @SYSTEM_AIX_FALSE@
SYSTEM_AIX_TRUE = @SYSTEM_AIX_TRUE@
+SYSTEM_DARWIN_FALSE = @SYSTEM_DARWIN_FALSE@
+SYSTEM_DARWIN_TRUE = @SYSTEM_DARWIN_TRUE@
+SYSTEM_LINUX_FALSE = @SYSTEM_LINUX_FALSE@
+SYSTEM_LINUX_TRUE = @SYSTEM_LINUX_TRUE@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@