Author: mturk
Date: Tue Apr  7 12:09:08 2009
New Revision: 762729

URL: http://svn.apache.org/viewvc?rev=762729&view=rev
Log:
Some initial commits

Added:
    commons/sandbox/runtime/trunk/src/main/native/Makefile.in   (with props)
    commons/sandbox/runtime/trunk/src/main/native/configure   (with props)
    commons/sandbox/runtime/trunk/src/main/native/include/acr.h   (with props)
    commons/sandbox/runtime/trunk/xdocs/images/logo.png   (with props)
Modified:
    commons/sandbox/runtime/trunk/NOTICE.txt
    commons/sandbox/runtime/trunk/src/main/java/overview.html
    commons/sandbox/runtime/trunk/xdocs/proposal.xml

Modified: commons/sandbox/runtime/trunk/NOTICE.txt
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/NOTICE.txt?rev=762729&r1=762728&r2=762729&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/NOTICE.txt (original)
+++ commons/sandbox/runtime/trunk/NOTICE.txt Tue Apr  7 12:09:08 2009
@@ -1,2 +1,5 @@
+Apache Commons Runtime
+Copyright 2009 The Apache Software Foundation
+
 This product includes software developed by
 The Apache Software Foundation (http://www.apache.org/).

Modified: commons/sandbox/runtime/trunk/src/main/java/overview.html
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/overview.html?rev=762729&r1=762728&r2=762729&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/overview.html (original)
+++ commons/sandbox/runtime/trunk/src/main/java/overview.html Tue Apr  7 
12:09:08 2009
@@ -1,5 +1,7 @@
 <html>
 <!--
+   Apache Commons Runtime
+   Copyright 2009 The Apache Software Foundation
 
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with

Added: commons/sandbox/runtime/trunk/src/main/native/Makefile.in
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/Makefile.in?rev=762729&view=auto
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/Makefile.in (added)
+++ commons/sandbox/runtime/trunk/src/main/native/Makefile.in Tue Apr  7 
12:09:08 2009
@@ -0,0 +1,112 @@
+# Apache Commons Runtime
+# Copyright 2009 The Apache Software Foundation
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ====================================================================
+#
+# Apache Commons Runtime Makefile
+# 
+# XXX: Do not use GNU make extensions
+#      because it breaks the Solaris build.
+#
+# ====================================================================
+#
+
+na...@name@
+ho...@host@
+ma...@mach@
+bi...@bits@
+...@cc@
+...@so@
+o...@obj@
+e...@exe@
+...@ar@
+ranl...@ranlib@
+pref...@prefix@
+libd...@libdir@
+topd...@topdir@
+c...@cpp@
+c...@cxx@
+cfla...@ccflags@ -DACR_DECLARE_EXPORT -DACR_CORE_PRIVATE
+cppfla...@cppopts@
+cxxfla...@cxxopts@
+ldfla...@ldflags@
+shfla...@shflags@
+includ...@includes@
+
+DESTDIR=$(PREFIX)
+SONAME=lib$(NAME)$(SO)
+SHAREDLIB=lib$(NAME)$(SO)
+
+SRCDIR=$(TOPDIR)/src
+INCDIR=$(TOPDIR)/include
+BLDDIR=$(TOPDIR)/.libs
+PWDDIR=$(PWD)
+
+ARCH_DIRS=\
+       $(SRCDIR)/shared \
+       $(SRCDIR)/os/unix \
+       $(SRCDIR)/os/linux \
+       $(SRCDIR)/os/solaris \
+       $(SRCDIR)/os/darwin \
+       $(SRCDIR)/os/unix \
+       $(SRCDIR)/os/hpux \
+       $(SRCDIR)/os/win32
+       
+COMMON_OBJS=\
+       $(SRCDIR)/main.$(OBJ) \
+       $(SRCDIR)/buildmark.$(OBJ) \
+       $(SRCDIR)/shared/error.$(OBJ) \
+       $(SRCDIR)/shared/utils.$(OBJ) \
+
+LINUX_OBJS= \
+       $(SRCDIR)/os/linux/os.$(OBJ) \
+       $(SRCDIR)/os/linux/cpu.$(OBJ)
+
+SOLARIS_OBJS= \
+       $(SRCDIR)/os/solaris/os.$(OBJ) \
+       $(SRCDIR)/os/solaris/cpu.$(OBJ)
+
+
+all: setup $(SHAREDLIB)
+
+.c.$(OBJ):
+       $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
+
+.cpp.$(OBJ):
+       $(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
+
+$(SHAREDLIB): $(COMMON_OBJS) $(@platf...@_objs)
+       $(CC) $(SHFLAGS) $(LDFLAGS) -o $(BLDDIR)/$@ $(COMMON_OBJS) 
$(@platf...@_objs)
+
+setup:
+       @mkdir -p $(BLDDIR)
+
+clean:
+       for i in $(SRCDIR) $(ARCH_DIRS) ; do rm -f $$i/*.$(OBJ) ; done
+       rm -f $(BLDDIR)/*
+
+distclean: clean
+       rm -f $(TOPDIR)/Makefile
+       rm -f $(INCDIR)/cconfig.h
+       rm -rf $(BLDDIR)
+
+install: all
+       @mkdir -p $(DESTDIR)/include
+       @mkdir -p $(DESTDIR)/$(LIBDIR)
+       cp -f $(INCDIR)/* $(DESTDIR)/include/
+       cp -f $(BLDDIR)/$(SHAREDLIB) $(DESTDIR)/lib/

Propchange: commons/sandbox/runtime/trunk/src/main/native/Makefile.in
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/sandbox/runtime/trunk/src/main/native/configure
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/configure?rev=762729&view=auto
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/configure (added)
+++ commons/sandbox/runtime/trunk/src/main/native/configure Tue Apr  7 12:09:08 
2009
@@ -0,0 +1,477 @@
+#!/bin/sh
+# Apache Commons Runtime
+# Copyright 2009 The Apache Software Foundation
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ====================================================================
+#
+# configure   Simple configure script with no dependency on
+#             GNU autoconf tools.
+#
+# Important environment variables
+#
+#   CC          Compiler used defaults to gcc
+#   CPP         Preprocessor used defaults to gcc -E
+#   CFLAGS      Compile task flags
+#   CPPFLAGS    C Preprocessor flags
+#   CXXFLAGS    C++ Preprocessor flags
+#   LDFLAGS     Library flags added to the linked
+#               Usually -L<dir> and -llibrary
+#   SHFLAGS     Ling task flags
+#   RCFLAGS     Resuurce compile task flags
+#               Used only on windows.
+#   TOPDIR      Top directory defaults to .
+#   JAVA_HOME   Home of the Java SDK
+#               Overridable by --with-java-home option
+#
+# ====================================================================
+#
+
+name=acr
+prefix="${PREFIX:=/usr/local}"
+libdir="lib"
+cc="${CC:=gcc}"
+cxx="${CXX:=g++}"
+ar="${AR:=ar}"
+ranlib="${RANLIB:=ranlib}"
+topdir="${TOPDIR:=.}"
+cpp="${CPP:=$cc -E}"
+ccflags="$CFLAGS"
+cppopts="$CPPFLAGS"
+cxxopts="$CXXFLAGS"
+ldflags="$LDFLAGS"
+shflags="$SHFLAGS"
+rcflags="$RCFLAGS"
+includes="-I$topdir/include"
+bige="0"
+so=".so"
+exe=""
+obj="o"
+bits=""
+nmake=""
+java_home="$JAVA_HOME"
+java_pinc=""
+has_dso_test=false
+has_jni=false
+has_64_bit=false
+
+for o
+do
+    case "$o" in
+    -*=*) a=`echo "$o" | sed 's/^[-_a-zA-Z0-9]*=//'`
+     ;;
+    --enable-*) a=`echo "$o" | sed -e 's/--enable-//' -e 's/-/_/'`
+        eval has_$a=true
+        shift
+        continue
+     ;;
+    --disable-*) a=`echo "$o" | sed -e 's/--disable-//' -e 's/-/_/'`
+        eval has_$a=false
+        shift
+        continue
+     ;;
+    *=*) a=`echo "$o" | sed 's/^[_a-zA-Z0-9]*=//'`
+     ;;
+    *) a=''
+     ;;
+    esac
+    case "$o" in
+        --name=*  )
+            name="$a"
+            shift
+        ;;
+        --prefix=*  )
+            prefix="$a"
+            shift
+        ;;
+        --libdir=*  )
+            libdir="$a"
+            shift
+        ;;
+        --with-cc=* )
+            cc="$a"
+            shift
+        ;;
+        --with-cxx=* )
+            cxx="$a"
+            shift
+        ;;
+        --with-cpp=* )
+            cpp="$a"
+            shift
+        ;;
+        --with-java-home=* )
+            java_home="$a"
+            shift
+        ;;
+        --with-java-platform=* )
+            java_pinc="$a"
+            shift
+        ;;
+        CC=*)       cc="$a" ;       shift ;;
+        CXX=*)      cxx="$a" ;      shift ;;
+        CPP=*)      cpp="$a" ;      shift ;;
+        CFLAGS=*)   ccflags="$a" ;  shift ;;
+        CPPFLAGS=*) cppopts="$a" ;  shift ;;
+        CXXFLAGS=*) cxxopts="$a" ;  shift ;;
+        LDFLAGS=*)  ldflags="$a" ;  shift ;;
+        SHFLAGS=*)  shflags="$a" ;  shift ;;
+        RCFLAGS=*)  rcflags="$a" ;  shift ;;
+        * )
+        cat 1>&2 << EOH
+Usage: ./configure [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Usage: configure [options]
+
+Installation directories:
+  --prefix=PREFIX    install architecture-independent files in PREFIX
+                          [/usr/local]
+  --libdir=LPREFIX   install architecture-dependent files in LPREFIX
+                          [PREFIX/lib]
+
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  CPP         C preprocessor
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  SHFLAGS     Linker command flags
+
+EOH
+        exit 1
+        ;;
+    esac
+done
+
+varadds()
+{
+    if [ ".$2" = ".::" ]; then
+        eval "$1=\"\""
+    else
+        eval e="\$$1"
+        if [ ".$e" = . ]; then
+            eval "$1=\"$2\""
+        else
+            for v in $2
+            do
+                do_adds=true
+                for i in $e
+                do
+                    if [ ".$v" = ".$i" ]; then
+                        do_adds=false
+                        break
+                    fi
+                done
+                if $do_adds; then
+                    e="$e $v"
+                fi
+            done
+            eval "$1=\"$e\""
+        fi
+    fi
+}
+
+toupper()
+{
+    echo "$1" | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+}
+
+tolower()
+{
+    echo "$1" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'
+}
+
+if [ ".$java_home" = . ]; then
+    echo Missing JAVA_HOME environment variable
+    exit 1
+fi
+if [ ! -d "$java_home" ]; then
+    echo "\`$java_home' is not valid JAVA_HOME directory"
+fi
+
+varadds includes "-I$java_home/include"
+
+mach=`(uname -m) 2>/dev/null` || mach="unknown"
+host=`(uname -s) 2>/dev/null` || host="unknown"
+host=`tolower "$host"`
+
+if $has_64_bit; then
+    bits="64"
+fi
+
+case "$host" in
+    hp-ux   )
+        platform="HPUX"
+        host="hpux"
+    ;;
+    sunos   )
+        platform="SOLARIS"
+        host="solaris"
+    ;;
+    cygwin* )
+        platform="WINDOWS"
+        host="windows"
+    ;;
+    *       )
+        platform=`toupper "$host"`
+    ;;
+esac
+
+case "$mach" in
+    amd64    )
+        mach="x86_64"
+    ;;
+    i[3-6]86 )
+        mach="i386"
+    ;;
+    i86pc    )
+        mach="i386"
+    ;;
+    sun4*    )
+        mach="sparc"
+        bige="1"
+    ;;
+    9000/[678][0-9][0-9] )
+        mach="parisc"
+        bige="1"
+    ;;
+esac
+
+case "$host-$cc" in
+    linux-gcc )
+        varadds cppopts "-DLINUX=2 -D_GNU_SOURCE"
+        varadds ccflags "-fPIC -O3 -Wall -g"
+        varadds ldflags "-lrt -lpthread -ldl"
+        varadds shflags "-shared -fPIC -Wl,-soname -Wl,lib$name$so"
+        if [ ".$java_pinc" = . ]; then java_pinc=linux; fi
+        ;;
+    darwin-gcc )
+        r="`uname -r | sed 's/\.//g'`"
+        varadds cppopts "-DDARWIN=$r"
+        varadds ccflags "-fPIC -O3 -g"
+        varadds ldflags "-lrt -lpthread -ldl"
+        varadds shflags "-shared -fPIC -Wl,-soname -Wl,lib$name$so"
+        if $has_jni ; then so=".jnilib"; else so=".dynlib"; fi
+        ;;
+    solaris-cc )
+        r="`uname -r | sed 's/5.//'`"
+        varadds ccflags "-fast -O -Xa -KPIC"
+        varadds cppopts "-D_POSIX_PTHREAD_SEMANTICS -DSOLARIS2=$r"
+        varadds ldflags "-lrt -lthread -lsocket -lnsl -ldl"
+        varadds shflags "-G -KPIC -dy"
+        if [ ".$java_pinc" = . ]; then java_pinc=solaris; fi
+        ;;
+    hpux-cc    )
+        r="`uname -r | sed 's/[A-Z].[0-9]*.//'`"
+        varadds ccflags "-Ae +O2 -z"
+        varadds cppopts "-D_HPUX_SOURCE -DHPUX11=$r"
+        varadds ldflags "-lrt -lpthread -ldl"
+        varadds shflags "+Z -b"
+        so=".sl"
+        if [ ".$java_pinc" = . ]; then java_pinc="hp-ux"; fi
+        ;;
+    windows-cl )
+        varadds ccflags "-nologo -O2 -Ob2 -Oy- -Zi -D_MD -MD -W3"
+        varadds cppopts "-DWIN32 -D_WIN32 -D_WINDOWS -D_WINNT"
+        varadds cppopts "-D_WIN32_WINNT=0x0501 -D_WIN32_IE=0x0600"
+        varadds cxxopts "/TP"
+        varadds ldflags "kernel32.lib advapi32.lib ws2_32.lib mswsock.lib"
+        varadds ldflags "ole32.lib shell32.lib rpcrt4.lib"
+        varadds shflags "/NOLOGO /OPT:REF"
+        so=".dll"
+        exe=".exe"
+        obj="obj"
+        nmake=".msc"
+        if [ ".$java_pinc" = . ]; then java_pinc="win32"; fi
+        ;;
+    *       )
+        echo "$host$bits-$cc platform is not supported!"
+        exit 1
+        ;;
+esac
+
+case "$host$bits-$cc" in
+    hpux64-cc    )
+        varadds ccflags "+DD64"
+        varadds shflags "+DD64"
+        ;;
+    windows-cl   )
+        varadds ccflags "-D_X86_=1"
+        varadds shflags "/MACHINE:X86"
+        ;;
+    windows64-cl )
+        varadds ccflags "-DWIN64 -D_WIN64 -Wp64 -D_AMD64_=1"
+        varadds shflags "/MACHINE:AMD64"
+        ;;
+    *64-*        )
+        varadds ccflags "-m64"
+        varadds shflags "-m64"
+        ;;
+esac
+
+if [ -n "$java_pinc" ]; then
+    if [ -d "$java_home/include/$java_pinc" ]; then
+        varadds includes "-I$java_home/include/$java_pinc"
+    else
+        echo ""
+        echo "Warning: \`$java_home/include/$java_pinc' in not a directory"
+    fi
+fi
+
+varadds cppopts "-D_REENTRANT -D_LARGEFILE64_SOURCE"
+
+test=ctest$$
+
+if $has_dso_test; then
+    cat > $test.c << EOF
+extern int getchar();
+int hello() {return getchar();}
+EOF
+
+    echo "Checking for shared library support..."
+    ok=false
+    if [ "`($cc -c $ccflags $cppflags $test.c) 2>&1`" = "" ]; then
+        if [ "`($cc $shflags $ldflags -o $test$so $test.$obj) 2>&1`" = "" ]; 
then
+           echo "Building shared library for $host-$cc."
+           ok=true
+           fi
+    fi
+    if ! $ok; then
+           echo "No shared library support!"
+           exit 1
+    fi
+    rm -f $test.* $test >/dev/null 2>&1 || true
+fi
+
+have_include()
+{
+    cat > $test.c << EOF
+#include <stdlib.h>
+#include <$1.h>
+int main() {return 0;}
+EOF
+    co="`$cc $ccflags $cppopts $test.c -o $test$exe 2>&1`"
+    if [ ".$co" = "." ]; then
+        echo 1
+    else
+        if [ -x $test$exe ]; then
+            echo 1
+        else
+            echo 0
+        fi
+    fi
+    rm -f $test.* $test *.pdb >/dev/null 2>&1 || true
+}
+
+test_csizeof()
+{
+    cat > $test.c << EOF
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+
+int main() {printf("%d", sizeof($1));return 0;}
+EOF
+    $cc $ccflags $cppopts $test.c -o $test$exe >/dev/null 2>&1
+    if [ -x $test$exe ]; then
+        ./$test$exe 2>&1
+    else
+        echo 0
+    fi
+    rm -f $test.* $test *.pdb >/dev/null 2>&1 || true
+}
+
+# Generate configuration header file
+#
+cat > $topdir/include/ccconfig.h << EOF
+# AUTOMATICALY GENERATED -- DO NOT EDIT
+#
+#ifndef _CCCONFIG_H
+#define _CCCONFIG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define HAVE_UNISTD_H         `have_include unistd`
+#define HAVE_STRING_H         `have_include string`
+#define HAVE_STRINGS_H        `have_include strings`
+#define HAVE_WINDOWS_H        `have_include windows`
+#define HAVE_INTTYPES_H       `have_include inttypes`
+#define HAVE_DLFCN_H          `have_include dlfcn`
+#define HAVE_LINK_H           `have_include link`
+#define HAVE_SYS_TYPES_H      `have_include sys/types`
+#define HAVE_SYS_CDEFS_H      `have_include sys/cdefs`
+#define HAVE_SYS_RESOURCE_H   `have_include sys/resource`
+#define HAVE_SYS_SOCKET_H     `have_include sys/socket`
+#define HAVE_SYS_WAIT_H       `have_include sys/wait`
+#define HAVE_SYS_SYSLIMITS_H  `have_include sys/syslimits`
+#define HAVE_LIMITS_H         `have_include limits`
+
+#define HAS_BIG_ENDIAN        $bige
+
+#define CC_SIZEOF_INT         `test_csizeof int`
+#define CC_SIZEOF_LONG        `test_csizeof long`
+#define CC_SIZEOF_LONG_LONG   `test_csizeof 'long long'`
+#define CC_SIZEOF_VOIDP       `test_csizeof 'void *'`
+#define CC_SIZEOF_SIZE_T      `test_csizeof size_t`
+#define CC_SIZEOF_OFF64_T     `test_csizeof off64_t`
+
+EOF
+
+cat >> $topdir/include/ccconfig.h << EOF
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _CCCONFIG_H */
+EOF
+
+sed -e "s;=...@cc@;=$cc;g" \
+    -e "s;=...@cpp@;=$cpp;g" \
+    -e "s;=...@cxx@;=$cxx;g" \
+    -e "s;=...@so@;=$so;g" \
+    -e "s;=...@obj@;=$obj;g" \
+    -e "s;=...@exe@;=$exe;g" \
+    -e "s;=...@ar@;=$ar;g" \
+    -e "s;=...@host@;=$host;g" \
+    -e "s;=...@mach@;=$mach;g" \
+    -e "s;=...@bits@;=$bits;g" \
+    -e "s;@platform@;$platform;g" \
+    -e "s;=...@ranlib@;=$ranlib;g" \
+    -e "s;=...@prefix@;=$prefix;g" \
+    -e "s;=...@libdir@;=$libdir;g" \
+    -e "s;=...@topdir@;=$topdir;g" \
+    -e "s;=...@ccflags@;=$ccflags;g" \
+    -e "s;=...@cppopts@;=$cppopts;g" \
+    -e "s;=...@cxxopts@;=$cxxopts;g" \
+    -e "s;=...@ldflags@;=$ldflags;g" \
+    -e "s;=...@shflags@;=$shflags;g" \
+    -e "s;=...@rcflags@;=$rcflags;g" \
+    -e "s;=...@includes@;=$includes;g" \
+    -e "s;=...@name@;=$name;g" \
+    Makefile$nmake.in > Makefile$nmake
+
+echo "Configured for $host$bits-$cc."

Propchange: commons/sandbox/runtime/trunk/src/main/native/configure
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: commons/sandbox/runtime/trunk/src/main/native/configure
------------------------------------------------------------------------------
    svn:executable = *

Added: commons/sandbox/runtime/trunk/src/main/native/include/acr.h
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr.h?rev=762729&view=auto
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr.h (added)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr.h Tue Apr  7 
12:09:08 2009
@@ -0,0 +1,252 @@
+/* Apache Commons Runtime
+ * Copyright 2009 The Apache Software Foundation
+ *
+ *Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACR_H
+#define _ACR_H
+
+#include "ccconfig.h"
+#if HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+
+#include <windows.h>
+
+#ifdef _M_IA64
+/* Fix bug in PlatforSDK headers */
+#define TMP_IA64 _M_IA64
+#undef _M_IA64
+#include <winternl.h>
+#define _M_IA64 TMP_IA64
+#else
+#include <winternl.h>
+#endif
+#include <winsock2.h>
+#include <mswsock.h>
+#include <ws2tcpip.h>
+#endif /* HAVE_WINDOWS_H */
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stddef.h>
+
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#if HAVE_STRING_H
+#include <string.h>
+#endif
+#if HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+#define HAVE_LINK_H
+#include <link.h>
+#endif
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if HAVE_SYS_CDEFS_H
+#include <sys/cdefs.h>
+#endif
+#if HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#if HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
+/* Header files for PATH_MAX, _POSIX_PATH_MAX */
+#if HAVE_LIMITS_H
+#include <limits.h>
+#else
+#if HAVE_SYS_SYSLIMITS_H
+#include <sys/syslimits.h>
+#endif
+#endif
+
+/* JNI header */
+#include <jni.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+#define ACR_BEGIN_DECLS     extern "C" {
+#define ACR_END_DECLS       }
+#else
+#define ACR_BEGIN_DECLS
+#define ACR_END_DECLS
+#endif
+
+/* Typedefs that ACR needs. */
+typedef  unsigned char      acr_byte_t;
+typedef  short              acr_int16_t;
+typedef  unsigned short     acr_uint16_t;
+typedef  int                acr_int32_t;
+typedef  unsigned int       acr_uint32_t;
+typedef  unsigned long      apr_ino_t;
+typedef  size_t             acr_size_t;
+
+#if defined(_MSC_VER)
+typedef  ptrdiff_t          acr_ssize_t;
+typedef  __int64            acr_int64_t;
+typedef  unsigned __int64   acr_uint64_t;
+typedef  __int64            acr_off_t;
+typedef  int                acr_socklen_t;
+#else
+typedef  ssize_t            acr_ssize_t;
+typedef  long long          acr_int64_t;
+typedef  unsigned long long acr_uint64_t;
+typedef  off64_t            acr_off_t;
+typedef  socklen_t          acr_socklen_t;
+#endif
+
+
+#if CC_SIZEOF_VOIDP == 8
+typedef  acr_uint64_t       acr_ptr_t;
+#else
+typedef  acr_uint32_t       acr_ptr_t;
+#endif
+
+/**
+ * ACR_DECLARE_EXPORT is defined when building the ANNEX dynamic library,
+ * so that all public symbols are exported.
+ *
+ * ACR_DECLARE_STATIC is defined when including the ACR public headers,
+ * to provide static linkage when the dynamic library may be unavailable.
+ *
+ * ACR_DECLARE_STATIC and ACR_DECLARE_EXPORT are left undefined when
+ * including the ACR public headers, to import and link the symbols from
+ * the dynamic ACR library and assure appropriate indirection and calling
+ * conventions at compile time.
+ */
+
+#if !defined(_WIN32)
+/**
+ * The public ACR functions are declared with ACR_DECLARE(), so they may
+ * use the most appropriate calling convention.  Public ACR functions with
+ * variable arguments must use ACR_DECLARE_NONSTD().
+ *
+ * @deffunc ACR_DECLARE(rettype) apr_func(args);
+ */
+#define ACR_DECLARE(type)            type
+/**
+ * The public ACR functions using variable arguments are declared with
+ * ACR_DECLARE_NONSTD(), as they must use the C language calling convention.
+ *
+ * @deffunc ACR_DECLARE_NONSTD(rettype) apr_func(args, ...);
+ */
+#define ACR_DECLARE_NONSTD(type)     type
+/**
+ * The public ACR variables are declared with ACR_DECLARE_DATA.
+ * This assures the appropriate indirection is invoked at compile time.
+ *
+ * @deffunc ACR_DECLARE_DATA type apr_variable;
+ * @tip extern ACR_DECLARE_DATA type apr_variable; syntax is required for
+ * declarations within headers to properly import the variable.
+ */
+#define ACR_DECLARE_DATA
+#elif defined(ACR_DECLARE_STATIC)
+#define ACR_DECLARE(type)            type __stdcall
+#define ACR_DECLARE_NONSTD(type)     type
+#define ACR_DECLARE_DATA
+#elif defined(ACR_DECLARE_EXPORT)
+#define ACR_DECLARE(type)            __declspec(dllexport) type __stdcall
+#define ACR_DECLARE_NONSTD(type)     __declspec(dllexport) type
+#define ACR_DECLARE_DATA             __declspec(dllexport)
+#else
+/**
+ * The public ACR functions are declared with ACR_DECLARE(), so they may
+ * use the most appropriate calling convention.  Public ACR functions with
+ * variable arguments must use ACR_DECLARE_NONSTD().
+ *
+ */
+#define ACR_DECLARE(type)            __declspec(dllimport) type __stdcall
+/**
+ * The public ACR functions using variable arguments are declared with
+ * ACR_DECLARE_NONSTD(), as they must use the C language calling convention.
+ *
+ */
+#define ACR_DECLARE_NONSTD(type)     __declspec(dllimport) type
+/**
+ * The public ACR variables are declared with ACR_DECLARE_DATA.
+ * This assures the appropriate indirection is invoked at compile time.
+ *
+ * @remark extern ACR_DECLARE_DATA type apr_variable; syntax is required for
+ * declarations within headers to properly import the variable.
+ */
+#define ACR_DECLARE_DATA             __declspec(dllimport)
+#endif
+
+#if !defined(_WIN32) || defined(ACR_MODULE_DECLARE_STATIC)
+/**
+ * Declare a dso module's exported module structure as ACR_MODULE_DECLARE_DATA.
+ *
+ * Unless ACR_MODULE_DECLARE_STATIC is defined at compile time, symbols
+ * declared with ACR_MODULE_DECLARE_DATA are always exported.
+ * @code
+ * module ACR_MODULE_DECLARE_DATA mod_tag
+ * @endcode
+ */
+#if defined(_WIN32)
+#define ACR_MODULE_DECLARE(type)            type __stdcall
+#else
+#define ACR_MODULE_DECLARE(type)            type
+#endif
+#define ACR_MODULE_DECLARE_NONSTD(type)     type
+#define ACR_MODULE_DECLARE_DATA
+#else
+/**
+ * ACR_MODULE_DECLARE_EXPORT is a no-op.  Unless contradicted by the
+ * ACR_MODULE_DECLARE_STATIC compile-time symbol, it is assumed and defined.
+ */
+#define ACR_MODULE_DECLARE_EXPORT
+#define ACR_MODULE_DECLARE(type)          __declspec(dllexport) type __stdcall
+#define ACR_MODULE_DECLARE_NONSTD(type)   __declspec(dllexport) type
+#define ACR_MODULE_DECLARE_DATA           __declspec(dllexport)
+#endif
+
+#define ACR_OS_WINDOWS                    0x1000
+#define ACR_OS_WIN64                      0x1001
+#define ACR_OS_WIN64                      0x1002
+#define ACR_OS_UNIX                       0x2000
+#define ACR_OS_LINUX                      0x2001
+#define ACR_OS_SOLARIS                    0x2002
+#define ACR_OS_DARWIN                     0x2004
+#define ACR_OS_HPUX                       0x2008
+
+#define ACR_CLASS_PATH                    "org/apache/commons/runtime/"
+#define ACR_JNI_EXPORT_DECLARE(RT, CL, MN)  \
+    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_##CL##_##MN
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _ACR_H *

Propchange: commons/sandbox/runtime/trunk/src/main/native/include/acr.h
------------------------------------------------------------------------------
    svn:eol-style = native

Added: commons/sandbox/runtime/trunk/xdocs/images/logo.png
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/xdocs/images/logo.png?rev=762729&view=auto
==============================================================================
Binary file - no diff available.

Propchange: commons/sandbox/runtime/trunk/xdocs/images/logo.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: commons/sandbox/runtime/trunk/xdocs/proposal.xml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/xdocs/proposal.xml?rev=762729&r1=762728&r2=762729&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/xdocs/proposal.xml (original)
+++ commons/sandbox/runtime/trunk/xdocs/proposal.xml Tue Apr  7 12:09:08 2009
@@ -7,8 +7,6 @@
 
 <section name="Proposal for Runtime Package">
 
-
-
 <subsection name="(0) Rationale">
 
 <p>Apache Commons Runtime provide Java classes and
@@ -18,7 +16,7 @@
 </subsection>
 <subsection name="(1) Scope of the Package">
 
-<p>Provide JNI abstraction layer of various operating features
+<p>Provide JNI abstraction layer of various operating system features
 in a portable way.</p>
 
 </subsection>


Reply via email to