1 2# Copyright (C) NGINX, Inc. 3 4 5shift 6 7NXT_JAVA_HOME=${JAVA_HOME-} 8NXT_JAR_REPO=https://repo1.maven.org/maven2/ 9NXT_JAR_LOCAL_REPO=$HOME/.m2/repository/ 10 11for nxt_option; do 12 13 case "$nxt_option" in 14 -*=*) value=`echo "$nxt_option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;; 15 *) value="" ;; 16 esac 17 18 case "$nxt_option" in 19 20 --module=*) NXT_JAVA_MODULE="$value" ;; 21 --home=*) NXT_JAVA_HOME="$value" ;; 22 --lib-path=*) NXT_JAVA_LIB_PATH="$value" ;; 23 --repo=*) NXT_JAR_REPO="$value" ;; 24 --local-repo=*) NXT_JAR_LOCAL_REPO="$value" ;; 25 --sha512=*) NXT_SHA512_TOOL="$value" ;; 26 --jars=*) NXT_JARS="$value" ;; 27 28 --help) 29 cat << END 30 31 --module=NAME set unit Java module name 32 --home=DIR set Java home directory 33 --lib-path=DIRECTORY set directory path to libjvm.so library 34 --repo=URL set Maven remote repository URL 35 default: "$NXT_JAR_REPO" 36 --local-repo=DIR set local repository directory 37 default: "$NXT_JAR_LOCAL_REPO" 38 --sha512=SHA512 set command for SHA512 check 39 --jars=DIR set jars install/search directory 40 41END 42 exit 0 43 ;; 44 45 *) 46 echo 47 echo $0: error: invalid Java option \"$nxt_option\" 48 echo 49 exit 1 50 ;; 51 esac 52 53done 54 55 56if [ ! -f $NXT_AUTOCONF_DATA ]; then 57 echo 58 echo Please run common $0 before configuring module \"$nxt_module\". 59 echo 60 exit 1 61fi 62 63. $NXT_AUTOCONF_DATA 64 65 66NXT_JARS=${NXT_JARS=$NXT_MODULES} 67NXT_JAVA_MODULE=${NXT_JAVA_MODULE=java} 68NXT_JAVA_LIB_PATH=${NXT_JAVA_LIB_PATH=} 69 70$echo "configuring Java module" 71$echo "configuring Java module ..." >> $NXT_AUTOCONF_ERR 72 73if [ -n "${NXT_JAVA_HOME}" ]; then 74 $echo "using java.home ${NXT_JAVA_HOME}" 75 $echo "using java.home ${NXT_JAVA_HOME}" >> $NXT_AUTOCONF_ERR 76 77 if [ ! -d "${NXT_JAVA_HOME}" ]; then 78 $echo 79 $echo $0: error: Java home directory not found. 80 $echo 81 exit 1 82 fi 83 84 NXT_JAVA="${NXT_JAVA_HOME}/bin/java" 85 86else 87 $echo -n "checking for java executable ..." 88 $echo "checking for java executable ..." >> $NXT_AUTOCONF_ERR 89 90 NXT_JAVA=`which java || :` 91 if [ -z "$NXT_JAVA" -o ! -x "$NXT_JAVA" ]; then 92 $echo " not found" 93 $echo 94 $echo $0: error: java executable not found. 95 $echo 96 exit 1 97 fi 98 99 $echo " found $NXT_JAVA" 100 $echo "found $NXT_JAVA" >> $NXT_AUTOCONF_ERR 101 102 "$NXT_JAVA" -version 103 104 $echo -n "checking java.home ..." 105 $echo "checking java.home ..." >> $NXT_AUTOCONF_ERR 106 107 NXT_JAVA_HOME=`$NXT_JAVA -XshowSettings 2>&1 | grep -F -e java.home | sed -e 's/^.*= //'` 108 if [ -z "$NXT_JAVA_HOME" ]; then 109 $echo " not found" 110 $echo 111 $echo $0: error: java.home not found. 112 $echo 113 exit 1 114 fi 115 116 $echo " $NXT_JAVA_HOME" 117 $echo "got java.home $NXT_JAVA_HOME" >> $NXT_AUTOCONF_ERR 118 119 if [ ! -x "${NXT_JAVA_HOME}/bin/javac" ]; then 120 NXT_JAVA_HOME_=${NXT_JAVA_HOME%/jre} 121 if [ -x "${NXT_JAVA_HOME_}/bin/javac" ]; then 122 $echo "adjust java.home $NXT_JAVA_HOME_" 123 $echo "adjust java.home $NXT_JAVA_HOME_" >> $NXT_AUTOCONF_ERR 124 125 NXT_JAVA_HOME="$NXT_JAVA_HOME_" 126 fi 127 fi 128fi 129 130NXT_JAVAC="${NXT_JAVA_HOME}/bin/javac" 131 132if [ ! -x "$NXT_JAVAC" ]; then 133 $echo 134 $echo $0: error: javac not found. 135 $echo 136 exit 1 137fi 138 139NXT_JAVA_INCLUDE="-I${NXT_JAVA_HOME}/include" 140 141case "$NXT_SYSTEM" in 142 Linux) 143 NXT_JAVA_INCLUDE="${NXT_JAVA_INCLUDE} -I${NXT_JAVA_HOME}/include/linux" 144 ;; 145 Darwin) 146 NXT_JAVA_INCLUDE="${NXT_JAVA_INCLUDE} -I${NXT_JAVA_HOME}/include/darwin" 147 ;; 148 FreeBSD) 149 NXT_JAVA_INCLUDE="${NXT_JAVA_INCLUDE} -I${NXT_JAVA_HOME}/include/freebsd" 150 ;; 151esac 152 153if [ -z "$NXT_JAVA_LIB_PATH" ]; then 154 $echo -n "checking library path ..." 155 $echo "checking library path ..." >> $NXT_AUTOCONF_ERR 156 157 if [ ! -x "$NXT_JAVA" ]; then 158 $echo " not found" 159 $echo 160 $echo $0: error: java executable not found. 161 $echo 162 exit 1 163 fi 164 165 NXT_JAVA_LIB_PATH=`$NXT_JAVA -XshowSettings 2>&1 | grep -F -e sun.boot.library.path | sed -e 's/^.*= //'` 166 167 if [ -z "$NXT_JAVA_LIB_PATH" ]; then 168 $echo " not found" 169 $echo 170 $echo $0: error: library path not found. 171 $echo 172 exit 1 173 fi 174 175 $echo " $NXT_JAVA_LIB_PATH" 176 $echo "got library path $NXT_JAVA_LIB_PATH" >> $NXT_AUTOCONF_ERR 177fi 178 179NXT_JAVA_LIB_SERVER_PATH="${NXT_JAVA_LIB_PATH}/server" 180 181NXT_JAVA_LDFLAGS="-L${NXT_JAVA_LIB_SERVER_PATH} -Wl,-rpath ${NXT_JAVA_LIB_SERVER_PATH} -ljvm" 182 183 184nxt_found=no 185 186nxt_feature="JNI" 187nxt_feature_name="" 188nxt_feature_run=no 189nxt_feature_incs="${NXT_JAVA_INCLUDE}" 190nxt_feature_libs="${NXT_JAVA_LDFLAGS}" 191nxt_feature_test=" 192 #include <jni.h> 193 194 int main() { 195 JNI_CreateJavaVM(NULL, NULL, NULL); 196 return 0; 197 }" 198 199. auto/feature 200 201 202if [ $nxt_found = no ]; then 203 $echo 204 $echo $0: error: no JNI found. 205 $echo 206 exit 1; 207fi 208 209NXT_JAVA_VERSION=`$NXT_JAVAC -version 2>&1` 210NXT_JAVA_VERSION=${NXT_JAVA_VERSION#javac } 211NXT_JAVA_INCLUDE="$NXT_JAVA_INCLUDE -I$NXT_BUILD_DIR/$NXT_JAVA_MODULE -DNXT_JAVA_VERSION=$NXT_JAVA_VERSION" 212 213if grep ^$NXT_JAVA_MODULE: $NXT_MAKEFILE 2>&1 > /dev/null; then 214 $echo 215 $echo $0: error: duplicate \"$NXT_JAVA_MODULE\" module configured. 216 $echo 217 exit 1; 218fi 219 220. ./version 221 222NXT_UNIT_JAR=nginx-unit-jsc-${NXT_JAVA_MODULE}-$NXT_VERSION.jar 223NXT_WS_API_JAR=websocket-api-${NXT_JAVA_MODULE}-$NXT_VERSION.jar 224 225NXT_JAVA_BUILD_CP=$NXT_BUILD_DIR/$NXT_JAVA_MODULE 226NXT_JAVA_INSTALL_JARS= 227NXT_JAVA_UNINSTALL_JARS= 228 229NXT_JAVA_JARS=$NXT_BUILD_DIR/$NXT_JAVA_MODULE/nxt_jars.h
| 1 2# Copyright (C) NGINX, Inc. 3 4 5shift 6 7NXT_JAVA_HOME=${JAVA_HOME-} 8NXT_JAR_REPO=https://repo1.maven.org/maven2/ 9NXT_JAR_LOCAL_REPO=$HOME/.m2/repository/ 10 11for nxt_option; do 12 13 case "$nxt_option" in 14 -*=*) value=`echo "$nxt_option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;; 15 *) value="" ;; 16 esac 17 18 case "$nxt_option" in 19 20 --module=*) NXT_JAVA_MODULE="$value" ;; 21 --home=*) NXT_JAVA_HOME="$value" ;; 22 --lib-path=*) NXT_JAVA_LIB_PATH="$value" ;; 23 --repo=*) NXT_JAR_REPO="$value" ;; 24 --local-repo=*) NXT_JAR_LOCAL_REPO="$value" ;; 25 --sha512=*) NXT_SHA512_TOOL="$value" ;; 26 --jars=*) NXT_JARS="$value" ;; 27 28 --help) 29 cat << END 30 31 --module=NAME set unit Java module name 32 --home=DIR set Java home directory 33 --lib-path=DIRECTORY set directory path to libjvm.so library 34 --repo=URL set Maven remote repository URL 35 default: "$NXT_JAR_REPO" 36 --local-repo=DIR set local repository directory 37 default: "$NXT_JAR_LOCAL_REPO" 38 --sha512=SHA512 set command for SHA512 check 39 --jars=DIR set jars install/search directory 40 41END 42 exit 0 43 ;; 44 45 *) 46 echo 47 echo $0: error: invalid Java option \"$nxt_option\" 48 echo 49 exit 1 50 ;; 51 esac 52 53done 54 55 56if [ ! -f $NXT_AUTOCONF_DATA ]; then 57 echo 58 echo Please run common $0 before configuring module \"$nxt_module\". 59 echo 60 exit 1 61fi 62 63. $NXT_AUTOCONF_DATA 64 65 66NXT_JARS=${NXT_JARS=$NXT_MODULES} 67NXT_JAVA_MODULE=${NXT_JAVA_MODULE=java} 68NXT_JAVA_LIB_PATH=${NXT_JAVA_LIB_PATH=} 69 70$echo "configuring Java module" 71$echo "configuring Java module ..." >> $NXT_AUTOCONF_ERR 72 73if [ -n "${NXT_JAVA_HOME}" ]; then 74 $echo "using java.home ${NXT_JAVA_HOME}" 75 $echo "using java.home ${NXT_JAVA_HOME}" >> $NXT_AUTOCONF_ERR 76 77 if [ ! -d "${NXT_JAVA_HOME}" ]; then 78 $echo 79 $echo $0: error: Java home directory not found. 80 $echo 81 exit 1 82 fi 83 84 NXT_JAVA="${NXT_JAVA_HOME}/bin/java" 85 86else 87 $echo -n "checking for java executable ..." 88 $echo "checking for java executable ..." >> $NXT_AUTOCONF_ERR 89 90 NXT_JAVA=`which java || :` 91 if [ -z "$NXT_JAVA" -o ! -x "$NXT_JAVA" ]; then 92 $echo " not found" 93 $echo 94 $echo $0: error: java executable not found. 95 $echo 96 exit 1 97 fi 98 99 $echo " found $NXT_JAVA" 100 $echo "found $NXT_JAVA" >> $NXT_AUTOCONF_ERR 101 102 "$NXT_JAVA" -version 103 104 $echo -n "checking java.home ..." 105 $echo "checking java.home ..." >> $NXT_AUTOCONF_ERR 106 107 NXT_JAVA_HOME=`$NXT_JAVA -XshowSettings 2>&1 | grep -F -e java.home | sed -e 's/^.*= //'` 108 if [ -z "$NXT_JAVA_HOME" ]; then 109 $echo " not found" 110 $echo 111 $echo $0: error: java.home not found. 112 $echo 113 exit 1 114 fi 115 116 $echo " $NXT_JAVA_HOME" 117 $echo "got java.home $NXT_JAVA_HOME" >> $NXT_AUTOCONF_ERR 118 119 if [ ! -x "${NXT_JAVA_HOME}/bin/javac" ]; then 120 NXT_JAVA_HOME_=${NXT_JAVA_HOME%/jre} 121 if [ -x "${NXT_JAVA_HOME_}/bin/javac" ]; then 122 $echo "adjust java.home $NXT_JAVA_HOME_" 123 $echo "adjust java.home $NXT_JAVA_HOME_" >> $NXT_AUTOCONF_ERR 124 125 NXT_JAVA_HOME="$NXT_JAVA_HOME_" 126 fi 127 fi 128fi 129 130NXT_JAVAC="${NXT_JAVA_HOME}/bin/javac" 131 132if [ ! -x "$NXT_JAVAC" ]; then 133 $echo 134 $echo $0: error: javac not found. 135 $echo 136 exit 1 137fi 138 139NXT_JAVA_INCLUDE="-I${NXT_JAVA_HOME}/include" 140 141case "$NXT_SYSTEM" in 142 Linux) 143 NXT_JAVA_INCLUDE="${NXT_JAVA_INCLUDE} -I${NXT_JAVA_HOME}/include/linux" 144 ;; 145 Darwin) 146 NXT_JAVA_INCLUDE="${NXT_JAVA_INCLUDE} -I${NXT_JAVA_HOME}/include/darwin" 147 ;; 148 FreeBSD) 149 NXT_JAVA_INCLUDE="${NXT_JAVA_INCLUDE} -I${NXT_JAVA_HOME}/include/freebsd" 150 ;; 151esac 152 153if [ -z "$NXT_JAVA_LIB_PATH" ]; then 154 $echo -n "checking library path ..." 155 $echo "checking library path ..." >> $NXT_AUTOCONF_ERR 156 157 if [ ! -x "$NXT_JAVA" ]; then 158 $echo " not found" 159 $echo 160 $echo $0: error: java executable not found. 161 $echo 162 exit 1 163 fi 164 165 NXT_JAVA_LIB_PATH=`$NXT_JAVA -XshowSettings 2>&1 | grep -F -e sun.boot.library.path | sed -e 's/^.*= //'` 166 167 if [ -z "$NXT_JAVA_LIB_PATH" ]; then 168 $echo " not found" 169 $echo 170 $echo $0: error: library path not found. 171 $echo 172 exit 1 173 fi 174 175 $echo " $NXT_JAVA_LIB_PATH" 176 $echo "got library path $NXT_JAVA_LIB_PATH" >> $NXT_AUTOCONF_ERR 177fi 178 179NXT_JAVA_LIB_SERVER_PATH="${NXT_JAVA_LIB_PATH}/server" 180 181NXT_JAVA_LDFLAGS="-L${NXT_JAVA_LIB_SERVER_PATH} -Wl,-rpath ${NXT_JAVA_LIB_SERVER_PATH} -ljvm" 182 183 184nxt_found=no 185 186nxt_feature="JNI" 187nxt_feature_name="" 188nxt_feature_run=no 189nxt_feature_incs="${NXT_JAVA_INCLUDE}" 190nxt_feature_libs="${NXT_JAVA_LDFLAGS}" 191nxt_feature_test=" 192 #include <jni.h> 193 194 int main() { 195 JNI_CreateJavaVM(NULL, NULL, NULL); 196 return 0; 197 }" 198 199. auto/feature 200 201 202if [ $nxt_found = no ]; then 203 $echo 204 $echo $0: error: no JNI found. 205 $echo 206 exit 1; 207fi 208 209NXT_JAVA_VERSION=`$NXT_JAVAC -version 2>&1` 210NXT_JAVA_VERSION=${NXT_JAVA_VERSION#javac } 211NXT_JAVA_INCLUDE="$NXT_JAVA_INCLUDE -I$NXT_BUILD_DIR/$NXT_JAVA_MODULE -DNXT_JAVA_VERSION=$NXT_JAVA_VERSION" 212 213if grep ^$NXT_JAVA_MODULE: $NXT_MAKEFILE 2>&1 > /dev/null; then 214 $echo 215 $echo $0: error: duplicate \"$NXT_JAVA_MODULE\" module configured. 216 $echo 217 exit 1; 218fi 219 220. ./version 221 222NXT_UNIT_JAR=nginx-unit-jsc-${NXT_JAVA_MODULE}-$NXT_VERSION.jar 223NXT_WS_API_JAR=websocket-api-${NXT_JAVA_MODULE}-$NXT_VERSION.jar 224 225NXT_JAVA_BUILD_CP=$NXT_BUILD_DIR/$NXT_JAVA_MODULE 226NXT_JAVA_INSTALL_JARS= 227NXT_JAVA_UNINSTALL_JARS= 228 229NXT_JAVA_JARS=$NXT_BUILD_DIR/$NXT_JAVA_MODULE/nxt_jars.h
|
230NXT_JAVA_MOUNTS_HEADER=$NXT_BUILD_DIR/$NXT_JAVA_MODULE/nxt_java_mounts.h
| |
231mkdir -p $NXT_BUILD_DIR/$NXT_JAVA_MODULE 232 233cat << END > $NXT_JAVA_JARS 234#ifndef _NXT_JAVA_JARS_INCLUDED_ 235#define _NXT_JAVA_JARS_INCLUDED_ 236 237#define NXT_JARS "$NXT_JARS" 238 239static const char *nxt_java_system_jars[] = { 240END 241 242NXT_TOMCAT_VERSION=9.0.13 243 244NXT_JAR_VERSION=$NXT_TOMCAT_VERSION 245 246NXT_JAR_NAME=tomcat-servlet-api 247NXT_JAR_NAMESPACE=org/apache/tomcat/ 248. auto/modules/java_get_jar 249 250NXT_JAR_NAME=tomcat-el-api 251. auto/modules/java_get_jar 252 253NXT_JAR_NAME=tomcat-jsp-api 254. auto/modules/java_get_jar 255 256NXT_JAR_NAME=tomcat-jasper 257. auto/modules/java_get_jar 258 259NXT_JAR_NAME=tomcat-jasper-el 260. auto/modules/java_get_jar 261 262NXT_JAR_NAME=tomcat-juli 263. auto/modules/java_get_jar 264 265NXT_JAR_NAME=tomcat-api 266. auto/modules/java_get_jar 267 268NXT_JAR_NAME=tomcat-util-scan 269. auto/modules/java_get_jar 270 271NXT_JAR_NAME=tomcat-util 272. auto/modules/java_get_jar 273 274NXT_JAR_NAME=ecj 275NXT_JAR_VERSION=3.13.102 276NXT_JAR_NAMESPACE=org/eclipse/jdt/ 277. auto/modules/java_get_jar 278 279cat << END >> $NXT_JAVA_JARS 280 "$NXT_WS_API_JAR", 281 NULL 282}; 283 284static const char *nxt_java_unit_jars[] = { 285 "$NXT_UNIT_JAR", 286END 287 288NXT_JAR_VERSION=9.4.12.v20180830 289NXT_JAR_NAMESPACE=org/eclipse/jetty/ 290 291NXT_JAR_NAME=jetty-util 292. auto/modules/java_get_jar 293 294NXT_JAR_NAME=jetty-server 295. auto/modules/java_get_jar 296 297NXT_JAR_NAME=jetty-http 298. auto/modules/java_get_jar 299 300NXT_JAR_NAME=classgraph 301NXT_JAR_VERSION=4.4.11 302NXT_JAR_NAMESPACE=io/github/classgraph/ 303. auto/modules/java_get_jar 304 305cat << END >> $NXT_JAVA_JARS 306 NULL 307}; 308 309#endif /* _NXT_JAVA_JARS_INCLUDED_ */ 310END 311 312NXT_JAVA_LIBJVM="$NXT_JAVA_LIB_SERVER_PATH/libjvm.so" 313 314if [ "$NXT_SYSTEM" = "Darwin" ]; then 315NXT_JAVA_LIBC_DIR="/usr/lib" 316else 317NXT_JAVA_LIBC_DIR=`ldd "$NXT_JAVA_LIBJVM" | grep libc.so | cut -d' ' -f3` 318NXT_JAVA_LIBC_DIR=`dirname $NXT_JAVA_LIBC_DIR` 319fi 320
| 230mkdir -p $NXT_BUILD_DIR/$NXT_JAVA_MODULE 231 232cat << END > $NXT_JAVA_JARS 233#ifndef _NXT_JAVA_JARS_INCLUDED_ 234#define _NXT_JAVA_JARS_INCLUDED_ 235 236#define NXT_JARS "$NXT_JARS" 237 238static const char *nxt_java_system_jars[] = { 239END 240 241NXT_TOMCAT_VERSION=9.0.13 242 243NXT_JAR_VERSION=$NXT_TOMCAT_VERSION 244 245NXT_JAR_NAME=tomcat-servlet-api 246NXT_JAR_NAMESPACE=org/apache/tomcat/ 247. auto/modules/java_get_jar 248 249NXT_JAR_NAME=tomcat-el-api 250. auto/modules/java_get_jar 251 252NXT_JAR_NAME=tomcat-jsp-api 253. auto/modules/java_get_jar 254 255NXT_JAR_NAME=tomcat-jasper 256. auto/modules/java_get_jar 257 258NXT_JAR_NAME=tomcat-jasper-el 259. auto/modules/java_get_jar 260 261NXT_JAR_NAME=tomcat-juli 262. auto/modules/java_get_jar 263 264NXT_JAR_NAME=tomcat-api 265. auto/modules/java_get_jar 266 267NXT_JAR_NAME=tomcat-util-scan 268. auto/modules/java_get_jar 269 270NXT_JAR_NAME=tomcat-util 271. auto/modules/java_get_jar 272 273NXT_JAR_NAME=ecj 274NXT_JAR_VERSION=3.13.102 275NXT_JAR_NAMESPACE=org/eclipse/jdt/ 276. auto/modules/java_get_jar 277 278cat << END >> $NXT_JAVA_JARS 279 "$NXT_WS_API_JAR", 280 NULL 281}; 282 283static const char *nxt_java_unit_jars[] = { 284 "$NXT_UNIT_JAR", 285END 286 287NXT_JAR_VERSION=9.4.12.v20180830 288NXT_JAR_NAMESPACE=org/eclipse/jetty/ 289 290NXT_JAR_NAME=jetty-util 291. auto/modules/java_get_jar 292 293NXT_JAR_NAME=jetty-server 294. auto/modules/java_get_jar 295 296NXT_JAR_NAME=jetty-http 297. auto/modules/java_get_jar 298 299NXT_JAR_NAME=classgraph 300NXT_JAR_VERSION=4.4.11 301NXT_JAR_NAMESPACE=io/github/classgraph/ 302. auto/modules/java_get_jar 303 304cat << END >> $NXT_JAVA_JARS 305 NULL 306}; 307 308#endif /* _NXT_JAVA_JARS_INCLUDED_ */ 309END 310 311NXT_JAVA_LIBJVM="$NXT_JAVA_LIB_SERVER_PATH/libjvm.so" 312 313if [ "$NXT_SYSTEM" = "Darwin" ]; then 314NXT_JAVA_LIBC_DIR="/usr/lib" 315else 316NXT_JAVA_LIBC_DIR=`ldd "$NXT_JAVA_LIBJVM" | grep libc.so | cut -d' ' -f3` 317NXT_JAVA_LIBC_DIR=`dirname $NXT_JAVA_LIBC_DIR` 318fi 319
|
321cat << END > $NXT_JAVA_MOUNTS_HEADER
| 320 321NXT_JAVA_MOUNTS_HEADER=nxt_${NXT_JAVA_MODULE}_mounts.h 322 323cat << END > $NXT_BUILD_DIR/$NXT_JAVA_MOUNTS_HEADER
|
322#ifndef _NXT_JAVA_MOUNTS_H_INCLUDED_ 323#define _NXT_JAVA_MOUNTS_H_INCLUDED_ 324 325 326static const nxt_fs_mount_t nxt_java_mounts[] = { 327 {(u_char *) "proc", (u_char *) "/proc", (u_char *) "proc", 0, NULL}, 328 {(u_char *) "$NXT_JAVA_LIBC_DIR", (u_char *) "$NXT_JAVA_LIBC_DIR", 329 (u_char *) "bind", NXT_MS_BIND | NXT_MS_REC, NULL}, 330 {(u_char *) "$NXT_JAVA_HOME", (u_char *) "$NXT_JAVA_HOME", 331 (u_char *) "bind", NXT_MS_BIND | NXT_MS_REC, NULL}, 332}; 333 334 335#endif /* _NXT_JAVA_MOUNTS_H_INCLUDED_ */ 336END 337 338$echo " + Java module: ${NXT_JAVA_MODULE}.unit.so" 339 340. auto/cc/deps 341 342$echo >> $NXT_MAKEFILE 343 344NXT_JAVA_MODULE_SRCS=" \ 345 src/nxt_java.c \ 346 src/java/nxt_jni.c \ 347 src/java/nxt_jni_Context.c \ 348 src/java/nxt_jni_HeaderNamesEnumeration.c \ 349 src/java/nxt_jni_HeadersEnumeration.c \ 350 src/java/nxt_jni_InputStream.c \ 351 src/java/nxt_jni_OutputStream.c \ 352 src/java/nxt_jni_Request.c \ 353 src/java/nxt_jni_Response.c \ 354 src/java/nxt_jni_Thread.c \ 355 src/java/nxt_jni_URLClassLoader.c \ 356" 357 358# The Java module object files. 359 360nxt_objs=$NXT_BUILD_DIR/src/nxt_unit.o 361 362for nxt_src in $NXT_JAVA_MODULE_SRCS; do 363 364 nxt_obj=${nxt_src%.c}-$NXT_JAVA_MODULE.o 365 nxt_dep=${nxt_src%.c}-$NXT_JAVA_MODULE.dep 366 nxt_dep_flags=`nxt_gen_dep_flags` 367 nxt_dep_post=`nxt_gen_dep_post` 368 nxt_objs="$nxt_objs $NXT_BUILD_DIR/$nxt_obj" 369 370 cat << END >> $NXT_MAKEFILE 371 372$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H 373 mkdir -p $NXT_BUILD_DIR/src/java
| 324#ifndef _NXT_JAVA_MOUNTS_H_INCLUDED_ 325#define _NXT_JAVA_MOUNTS_H_INCLUDED_ 326 327 328static const nxt_fs_mount_t nxt_java_mounts[] = { 329 {(u_char *) "proc", (u_char *) "/proc", (u_char *) "proc", 0, NULL}, 330 {(u_char *) "$NXT_JAVA_LIBC_DIR", (u_char *) "$NXT_JAVA_LIBC_DIR", 331 (u_char *) "bind", NXT_MS_BIND | NXT_MS_REC, NULL}, 332 {(u_char *) "$NXT_JAVA_HOME", (u_char *) "$NXT_JAVA_HOME", 333 (u_char *) "bind", NXT_MS_BIND | NXT_MS_REC, NULL}, 334}; 335 336 337#endif /* _NXT_JAVA_MOUNTS_H_INCLUDED_ */ 338END 339 340$echo " + Java module: ${NXT_JAVA_MODULE}.unit.so" 341 342. auto/cc/deps 343 344$echo >> $NXT_MAKEFILE 345 346NXT_JAVA_MODULE_SRCS=" \ 347 src/nxt_java.c \ 348 src/java/nxt_jni.c \ 349 src/java/nxt_jni_Context.c \ 350 src/java/nxt_jni_HeaderNamesEnumeration.c \ 351 src/java/nxt_jni_HeadersEnumeration.c \ 352 src/java/nxt_jni_InputStream.c \ 353 src/java/nxt_jni_OutputStream.c \ 354 src/java/nxt_jni_Request.c \ 355 src/java/nxt_jni_Response.c \ 356 src/java/nxt_jni_Thread.c \ 357 src/java/nxt_jni_URLClassLoader.c \ 358" 359 360# The Java module object files. 361 362nxt_objs=$NXT_BUILD_DIR/src/nxt_unit.o 363 364for nxt_src in $NXT_JAVA_MODULE_SRCS; do 365 366 nxt_obj=${nxt_src%.c}-$NXT_JAVA_MODULE.o 367 nxt_dep=${nxt_src%.c}-$NXT_JAVA_MODULE.dep 368 nxt_dep_flags=`nxt_gen_dep_flags` 369 nxt_dep_post=`nxt_gen_dep_post` 370 nxt_objs="$nxt_objs $NXT_BUILD_DIR/$nxt_obj" 371 372 cat << END >> $NXT_MAKEFILE 373 374$NXT_BUILD_DIR/$nxt_obj: $nxt_src $NXT_VERSION_H 375 mkdir -p $NXT_BUILD_DIR/src/java
|
374 \$(CC) -c \$(CFLAGS) \$(NXT_INCS) $NXT_JAVA_INCLUDE \\
| 376 \$(CC) -c \$(CFLAGS) -DNXT_JAVA_MOUNTS_H=\"$NXT_JAVA_MOUNTS_HEADER\" \\ 377 \$(NXT_INCS) $NXT_JAVA_INCLUDE \\
|
375 $nxt_dep_flags \\ 376 -o $NXT_BUILD_DIR/$nxt_obj $nxt_src 377 $nxt_dep_post 378 379-include $NXT_BUILD_DIR/$nxt_dep 380 381END 382 383done 384 385NXT_JAVA_SRCS=" \ 386 src/java/nginx/unit/Context.java \ 387 src/java/nginx/unit/DynamicDispatcherRequest.java \ 388 src/java/nginx/unit/DynamicPathRequest.java \ 389 src/java/nginx/unit/ForwardRequestWrapper.java \ 390 src/java/nginx/unit/HeaderNamesEnumeration.java \ 391 src/java/nginx/unit/HeadersEnumeration.java \ 392 src/java/nginx/unit/IncludeRequestWrapper.java \ 393 src/java/nginx/unit/IncludeResponseWrapper.java \ 394 src/java/nginx/unit/InitParams.java \ 395 src/java/nginx/unit/InputStream.java \ 396 src/java/nginx/unit/JspPropertyGroup.java \ 397 src/java/nginx/unit/OutputStream.java \ 398 src/java/nginx/unit/Request.java \ 399 src/java/nginx/unit/RequestAttrProxy.java \ 400 src/java/nginx/unit/Response.java \ 401 src/java/nginx/unit/Session.java \ 402 src/java/nginx/unit/SessionAttrProxy.java \ 403 src/java/nginx/unit/Taglib.java \ 404 src/java/nginx/unit/UnitSessionCookieConfig.java \ 405 src/java/nginx/unit/websocket/AsyncChannelGroupUtil.java \ 406 src/java/nginx/unit/websocket/AsyncChannelWrapper.java \ 407 src/java/nginx/unit/websocket/AsyncChannelWrapperNonSecure.java \ 408 src/java/nginx/unit/websocket/AsyncChannelWrapperSecure.java \ 409 src/java/nginx/unit/websocket/AuthenticationException.java \ 410 src/java/nginx/unit/websocket/Authenticator.java \ 411 src/java/nginx/unit/websocket/AuthenticatorFactory.java \ 412 src/java/nginx/unit/websocket/BackgroundProcess.java \ 413 src/java/nginx/unit/websocket/BackgroundProcessManager.java \ 414 src/java/nginx/unit/websocket/BasicAuthenticator.java \ 415 src/java/nginx/unit/websocket/Constants.java \ 416 src/java/nginx/unit/websocket/DecoderEntry.java \ 417 src/java/nginx/unit/websocket/DigestAuthenticator.java \ 418 src/java/nginx/unit/websocket/FutureToSendHandler.java \ 419 src/java/nginx/unit/websocket/MessageHandlerResult.java \ 420 src/java/nginx/unit/websocket/MessageHandlerResultType.java \ 421 src/java/nginx/unit/websocket/MessagePart.java \ 422 src/java/nginx/unit/websocket/PerMessageDeflate.java \ 423 src/java/nginx/unit/websocket/ReadBufferOverflowException.java \ 424 src/java/nginx/unit/websocket/Transformation.java \ 425 src/java/nginx/unit/websocket/TransformationFactory.java \ 426 src/java/nginx/unit/websocket/TransformationResult.java \ 427 src/java/nginx/unit/websocket/Util.java \ 428 src/java/nginx/unit/websocket/WrappedMessageHandler.java \ 429 src/java/nginx/unit/websocket/WsContainerProvider.java \ 430 src/java/nginx/unit/websocket/WsExtension.java \ 431 src/java/nginx/unit/websocket/WsExtensionParameter.java \ 432 src/java/nginx/unit/websocket/WsFrameBase.java \ 433 src/java/nginx/unit/websocket/WsFrameClient.java \ 434 src/java/nginx/unit/websocket/WsHandshakeResponse.java \ 435 src/java/nginx/unit/websocket/WsIOException.java \ 436 src/java/nginx/unit/websocket/WsPongMessage.java \ 437 src/java/nginx/unit/websocket/WsRemoteEndpointAsync.java \ 438 src/java/nginx/unit/websocket/WsRemoteEndpointBase.java \ 439 src/java/nginx/unit/websocket/WsRemoteEndpointBasic.java \ 440 src/java/nginx/unit/websocket/WsRemoteEndpointImplBase.java \ 441 src/java/nginx/unit/websocket/WsRemoteEndpointImplClient.java \ 442 src/java/nginx/unit/websocket/WsSession.java \ 443 src/java/nginx/unit/websocket/WsWebSocketContainer.java \ 444 src/java/nginx/unit/websocket/pojo/Constants.java \ 445 src/java/nginx/unit/websocket/pojo/PojoEndpointBase.java \ 446 src/java/nginx/unit/websocket/pojo/PojoEndpointClient.java \ 447 src/java/nginx/unit/websocket/pojo/PojoEndpointServer.java \ 448 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerBase.java \ 449 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerPartialBase.java \ 450 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerPartialBinary.java \ 451 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerPartialText.java \ 452 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholeBase.java \ 453 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholeBinary.java \ 454 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholePong.java \ 455 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholeText.java \ 456 src/java/nginx/unit/websocket/pojo/PojoMethodMapping.java \ 457 src/java/nginx/unit/websocket/pojo/PojoPathParam.java \ 458 src/java/nginx/unit/websocket/pojo/package-info.java \ 459 src/java/nginx/unit/websocket/server/Constants.java \ 460 src/java/nginx/unit/websocket/server/DefaultServerEndpointConfigurator.java \ 461 src/java/nginx/unit/websocket/server/UpgradeUtil.java \ 462 src/java/nginx/unit/websocket/server/UriTemplate.java \ 463 src/java/nginx/unit/websocket/server/WsContextListener.java \ 464 src/java/nginx/unit/websocket/server/WsFilter.java \ 465 src/java/nginx/unit/websocket/server/WsHandshakeRequest.java \ 466 src/java/nginx/unit/websocket/server/WsHttpUpgradeHandler.java \ 467 src/java/nginx/unit/websocket/server/WsMappingResult.java \ 468 src/java/nginx/unit/websocket/server/WsPerSessionServerEndpointConfig.java \ 469 src/java/nginx/unit/websocket/server/WsRemoteEndpointImplServer.java \ 470 src/java/nginx/unit/websocket/server/WsSci.java \ 471 src/java/nginx/unit/websocket/server/WsServerContainer.java \ 472 src/java/nginx/unit/websocket/server/WsSessionListener.java \ 473 src/java/nginx/unit/websocket/server/WsWriteTimeout.java \ 474 src/java/nginx/unit/websocket/server/package-info.java \ 475" 476 477NXT_JAVA_WS_API_SRCS=" \ 478 src/java/javax/websocket/ClientEndpoint.java \ 479 src/java/javax/websocket/ClientEndpointConfig.java \ 480 src/java/javax/websocket/CloseReason.java \ 481 src/java/javax/websocket/ContainerProvider.java \ 482 src/java/javax/websocket/DecodeException.java \ 483 src/java/javax/websocket/Decoder.java \ 484 src/java/javax/websocket/DefaultClientEndpointConfig.java \ 485 src/java/javax/websocket/DeploymentException.java \ 486 src/java/javax/websocket/EncodeException.java \ 487 src/java/javax/websocket/Encoder.java \ 488 src/java/javax/websocket/Endpoint.java \ 489 src/java/javax/websocket/EndpointConfig.java \ 490 src/java/javax/websocket/Extension.java \ 491 src/java/javax/websocket/HandshakeResponse.java \ 492 src/java/javax/websocket/MessageHandler.java \ 493 src/java/javax/websocket/OnClose.java \ 494 src/java/javax/websocket/OnError.java \ 495 src/java/javax/websocket/OnMessage.java \ 496 src/java/javax/websocket/OnOpen.java \ 497 src/java/javax/websocket/PongMessage.java \ 498 src/java/javax/websocket/RemoteEndpoint.java \ 499 src/java/javax/websocket/SendHandler.java \ 500 src/java/javax/websocket/SendResult.java \ 501 src/java/javax/websocket/Session.java \ 502 src/java/javax/websocket/SessionException.java \ 503 src/java/javax/websocket/WebSocketContainer.java \ 504 src/java/javax/websocket/server/DefaultServerEndpointConfig.java \ 505 src/java/javax/websocket/server/HandshakeRequest.java \ 506 src/java/javax/websocket/server/PathParam.java \ 507 src/java/javax/websocket/server/ServerApplicationConfig.java \ 508 src/java/javax/websocket/server/ServerContainer.java \ 509 src/java/javax/websocket/server/ServerEndpoint.java \ 510 src/java/javax/websocket/server/ServerEndpointConfig.java \ 511" 512 513cat << END >> $NXT_MAKEFILE 514 515.PHONY: ${NXT_JAVA_MODULE} 516.PHONY: ${NXT_JAVA_MODULE}-install 517.PHONY: ${NXT_JAVA_MODULE}-uninstall 518 519all: ${NXT_JAVA_MODULE} 520 521${NXT_JAVA_MODULE}: $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \ 522 $NXT_BUILD_DIR/$NXT_UNIT_JAR \ 523 $NXT_BUILD_DIR/$NXT_WS_API_JAR 524 525$NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so: $nxt_objs 526 \$(NXT_MODULE_LINK) -o $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \\ 527 $nxt_objs $NXT_JAVA_LDFLAGS $NXT_LD_OPT 528 529 530install: ${NXT_JAVA_MODULE}-install 531 532${NXT_JAVA_MODULE}-install: $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \\ 533 $NXT_BUILD_DIR/$NXT_UNIT_JAR \\ 534 $NXT_BUILD_DIR/$NXT_WS_API_JAR \\ 535 java-shared-install 536 install -d \$(DESTDIR)$NXT_MODULES 537 install -p $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \\ 538 \$(DESTDIR)$NXT_MODULES/ 539 install -d \$(DESTDIR)$NXT_JARS 540 install -p -m 0644 $NXT_BUILD_DIR/$NXT_UNIT_JAR \$(DESTDIR)$NXT_JARS/ 541 install -p -m 0644 $NXT_BUILD_DIR/$NXT_WS_API_JAR \$(DESTDIR)$NXT_JARS/ 542 543 544uninstall: ${NXT_JAVA_MODULE}-uninstall 545 546${NXT_JAVA_MODULE}-uninstall: java-shared-uninstall 547 rm -f \$(DESTDIR)$NXT_MODULES/${NXT_JAVA_MODULE}.unit.so 548 @rmdir -p \$(DESTDIR)$NXT_MODULES 2>/dev/null || true 549 rm -f \$(DESTDIR)$NXT_JARS/$NXT_UNIT_JAR 550 rm -f \$(DESTDIR)$NXT_JARS/$NXT_WS_API_JAR 551 @rmdir -p \$(DESTDIR)$NXT_JARS 2>/dev/null || true 552 553END 554 555if ! grep ^$NXT_BUILD_DIR/$NXT_UNIT_JAR: $NXT_MAKEFILE 2>&1 > /dev/null; then 556 557 cat << END >> $NXT_MAKEFILE 558 559NXT_JAVA_SRCS = $NXT_JAVA_SRCS 560 561$NXT_BUILD_DIR/$NXT_JAVA_MODULE/.nginx.unit.classes: \$(NXT_JAVA_SRCS) \\ 562 $NXT_BUILD_DIR/$NXT_WS_API_JAR 563 rm -rf $NXT_BUILD_DIR/$NXT_JAVA_MODULE/nginx/unit 564 $NXT_JAVAC -d $NXT_BUILD_DIR/$NXT_JAVA_MODULE \\ 565 -cp $NXT_JAVA_BUILD_CP:$NXT_BUILD_DIR/$NXT_WS_API_JAR \\ 566 \$(NXT_JAVA_SRCS) 567 touch \$@ 568 569$NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/LICENSE: LICENSE 570 mkdir -p $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF 571 cp -p LICENSE \$@ 572 573$NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/NOTICE: NOTICE 574 mkdir -p $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF 575 cp -p NOTICE \$@ 576 577$NXT_BUILD_DIR/$NXT_UNIT_JAR: \\ 578 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/.nginx.unit.classes \\ 579 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/LICENSE \\ 580 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/NOTICE 581 $NXT_JAVA_HOME/bin/jar c -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE META-INF \\ 582 -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE nginx/unit > \$@ 583 584NXT_JAVA_WS_API_SRCS = $NXT_JAVA_WS_API_SRCS 585 586$NXT_BUILD_DIR/$NXT_JAVA_MODULE/.javax.websocket.classes: \$(NXT_JAVA_WS_API_SRCS) 587 rm -rf $NXT_BUILD_DIR/$NXT_JAVA_MODULE/javax/websocket 588 $NXT_JAVAC -d $NXT_BUILD_DIR/$NXT_JAVA_MODULE -cp $NXT_JAVA_BUILD_CP \\ 589 \$(NXT_JAVA_WS_API_SRCS) 590 touch \$@ 591 592$NXT_BUILD_DIR/$NXT_WS_API_JAR: \\ 593 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/.javax.websocket.classes \\ 594 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/LICENSE \\ 595 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/NOTICE 596 $NXT_JAVA_HOME/bin/jar c -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE META-INF \\ 597 -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE javax/websocket > \$@ 598 599END 600 601NXT_PROPS="\ 602 nginx/unit/websocket/LocalStrings.properties \ 603 nginx/unit/websocket/pojo/LocalStrings.properties \ 604 nginx/unit/websocket/server/LocalStrings.properties \ 605" 606 607for nxt_prop in $NXT_PROPS ; do 608 609 cat << END >> $NXT_MAKEFILE 610$NXT_BUILD_DIR/$NXT_JAVA_MODULE/$nxt_prop: src/java/$nxt_prop \\ 611 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/.nginx.unit.classes 612 cp src/java/$nxt_prop \$@ 613 614$NXT_BUILD_DIR/$NXT_UNIT_JAR: $NXT_BUILD_DIR/$NXT_JAVA_MODULE/$nxt_prop 615 616END 617 618done 619 620fi 621 622if ! grep ^java-shared-install: $NXT_MAKEFILE 2>&1 > /dev/null; then 623 624 cat << END >> $NXT_MAKEFILE 625 626.PHONY: java-shared-install 627.PHONY: java-shared-uninstall 628 629java-shared-install: $NXT_JAVA_INSTALL_JARS 630 install -d \$(DESTDIR)$NXT_JARS 631 install -p -m 0644 $NXT_JAVA_INSTALL_JARS \$(DESTDIR)$NXT_JARS/ 632 633java-shared-uninstall: 634 rm -f $NXT_JAVA_UNINSTALL_JARS 635 @rmdir -p \$(DESTDIR)$NXT_JARS 2>/dev/null || true 636 637END 638 639fi
| 378 $nxt_dep_flags \\ 379 -o $NXT_BUILD_DIR/$nxt_obj $nxt_src 380 $nxt_dep_post 381 382-include $NXT_BUILD_DIR/$nxt_dep 383 384END 385 386done 387 388NXT_JAVA_SRCS=" \ 389 src/java/nginx/unit/Context.java \ 390 src/java/nginx/unit/DynamicDispatcherRequest.java \ 391 src/java/nginx/unit/DynamicPathRequest.java \ 392 src/java/nginx/unit/ForwardRequestWrapper.java \ 393 src/java/nginx/unit/HeaderNamesEnumeration.java \ 394 src/java/nginx/unit/HeadersEnumeration.java \ 395 src/java/nginx/unit/IncludeRequestWrapper.java \ 396 src/java/nginx/unit/IncludeResponseWrapper.java \ 397 src/java/nginx/unit/InitParams.java \ 398 src/java/nginx/unit/InputStream.java \ 399 src/java/nginx/unit/JspPropertyGroup.java \ 400 src/java/nginx/unit/OutputStream.java \ 401 src/java/nginx/unit/Request.java \ 402 src/java/nginx/unit/RequestAttrProxy.java \ 403 src/java/nginx/unit/Response.java \ 404 src/java/nginx/unit/Session.java \ 405 src/java/nginx/unit/SessionAttrProxy.java \ 406 src/java/nginx/unit/Taglib.java \ 407 src/java/nginx/unit/UnitSessionCookieConfig.java \ 408 src/java/nginx/unit/websocket/AsyncChannelGroupUtil.java \ 409 src/java/nginx/unit/websocket/AsyncChannelWrapper.java \ 410 src/java/nginx/unit/websocket/AsyncChannelWrapperNonSecure.java \ 411 src/java/nginx/unit/websocket/AsyncChannelWrapperSecure.java \ 412 src/java/nginx/unit/websocket/AuthenticationException.java \ 413 src/java/nginx/unit/websocket/Authenticator.java \ 414 src/java/nginx/unit/websocket/AuthenticatorFactory.java \ 415 src/java/nginx/unit/websocket/BackgroundProcess.java \ 416 src/java/nginx/unit/websocket/BackgroundProcessManager.java \ 417 src/java/nginx/unit/websocket/BasicAuthenticator.java \ 418 src/java/nginx/unit/websocket/Constants.java \ 419 src/java/nginx/unit/websocket/DecoderEntry.java \ 420 src/java/nginx/unit/websocket/DigestAuthenticator.java \ 421 src/java/nginx/unit/websocket/FutureToSendHandler.java \ 422 src/java/nginx/unit/websocket/MessageHandlerResult.java \ 423 src/java/nginx/unit/websocket/MessageHandlerResultType.java \ 424 src/java/nginx/unit/websocket/MessagePart.java \ 425 src/java/nginx/unit/websocket/PerMessageDeflate.java \ 426 src/java/nginx/unit/websocket/ReadBufferOverflowException.java \ 427 src/java/nginx/unit/websocket/Transformation.java \ 428 src/java/nginx/unit/websocket/TransformationFactory.java \ 429 src/java/nginx/unit/websocket/TransformationResult.java \ 430 src/java/nginx/unit/websocket/Util.java \ 431 src/java/nginx/unit/websocket/WrappedMessageHandler.java \ 432 src/java/nginx/unit/websocket/WsContainerProvider.java \ 433 src/java/nginx/unit/websocket/WsExtension.java \ 434 src/java/nginx/unit/websocket/WsExtensionParameter.java \ 435 src/java/nginx/unit/websocket/WsFrameBase.java \ 436 src/java/nginx/unit/websocket/WsFrameClient.java \ 437 src/java/nginx/unit/websocket/WsHandshakeResponse.java \ 438 src/java/nginx/unit/websocket/WsIOException.java \ 439 src/java/nginx/unit/websocket/WsPongMessage.java \ 440 src/java/nginx/unit/websocket/WsRemoteEndpointAsync.java \ 441 src/java/nginx/unit/websocket/WsRemoteEndpointBase.java \ 442 src/java/nginx/unit/websocket/WsRemoteEndpointBasic.java \ 443 src/java/nginx/unit/websocket/WsRemoteEndpointImplBase.java \ 444 src/java/nginx/unit/websocket/WsRemoteEndpointImplClient.java \ 445 src/java/nginx/unit/websocket/WsSession.java \ 446 src/java/nginx/unit/websocket/WsWebSocketContainer.java \ 447 src/java/nginx/unit/websocket/pojo/Constants.java \ 448 src/java/nginx/unit/websocket/pojo/PojoEndpointBase.java \ 449 src/java/nginx/unit/websocket/pojo/PojoEndpointClient.java \ 450 src/java/nginx/unit/websocket/pojo/PojoEndpointServer.java \ 451 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerBase.java \ 452 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerPartialBase.java \ 453 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerPartialBinary.java \ 454 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerPartialText.java \ 455 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholeBase.java \ 456 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholeBinary.java \ 457 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholePong.java \ 458 src/java/nginx/unit/websocket/pojo/PojoMessageHandlerWholeText.java \ 459 src/java/nginx/unit/websocket/pojo/PojoMethodMapping.java \ 460 src/java/nginx/unit/websocket/pojo/PojoPathParam.java \ 461 src/java/nginx/unit/websocket/pojo/package-info.java \ 462 src/java/nginx/unit/websocket/server/Constants.java \ 463 src/java/nginx/unit/websocket/server/DefaultServerEndpointConfigurator.java \ 464 src/java/nginx/unit/websocket/server/UpgradeUtil.java \ 465 src/java/nginx/unit/websocket/server/UriTemplate.java \ 466 src/java/nginx/unit/websocket/server/WsContextListener.java \ 467 src/java/nginx/unit/websocket/server/WsFilter.java \ 468 src/java/nginx/unit/websocket/server/WsHandshakeRequest.java \ 469 src/java/nginx/unit/websocket/server/WsHttpUpgradeHandler.java \ 470 src/java/nginx/unit/websocket/server/WsMappingResult.java \ 471 src/java/nginx/unit/websocket/server/WsPerSessionServerEndpointConfig.java \ 472 src/java/nginx/unit/websocket/server/WsRemoteEndpointImplServer.java \ 473 src/java/nginx/unit/websocket/server/WsSci.java \ 474 src/java/nginx/unit/websocket/server/WsServerContainer.java \ 475 src/java/nginx/unit/websocket/server/WsSessionListener.java \ 476 src/java/nginx/unit/websocket/server/WsWriteTimeout.java \ 477 src/java/nginx/unit/websocket/server/package-info.java \ 478" 479 480NXT_JAVA_WS_API_SRCS=" \ 481 src/java/javax/websocket/ClientEndpoint.java \ 482 src/java/javax/websocket/ClientEndpointConfig.java \ 483 src/java/javax/websocket/CloseReason.java \ 484 src/java/javax/websocket/ContainerProvider.java \ 485 src/java/javax/websocket/DecodeException.java \ 486 src/java/javax/websocket/Decoder.java \ 487 src/java/javax/websocket/DefaultClientEndpointConfig.java \ 488 src/java/javax/websocket/DeploymentException.java \ 489 src/java/javax/websocket/EncodeException.java \ 490 src/java/javax/websocket/Encoder.java \ 491 src/java/javax/websocket/Endpoint.java \ 492 src/java/javax/websocket/EndpointConfig.java \ 493 src/java/javax/websocket/Extension.java \ 494 src/java/javax/websocket/HandshakeResponse.java \ 495 src/java/javax/websocket/MessageHandler.java \ 496 src/java/javax/websocket/OnClose.java \ 497 src/java/javax/websocket/OnError.java \ 498 src/java/javax/websocket/OnMessage.java \ 499 src/java/javax/websocket/OnOpen.java \ 500 src/java/javax/websocket/PongMessage.java \ 501 src/java/javax/websocket/RemoteEndpoint.java \ 502 src/java/javax/websocket/SendHandler.java \ 503 src/java/javax/websocket/SendResult.java \ 504 src/java/javax/websocket/Session.java \ 505 src/java/javax/websocket/SessionException.java \ 506 src/java/javax/websocket/WebSocketContainer.java \ 507 src/java/javax/websocket/server/DefaultServerEndpointConfig.java \ 508 src/java/javax/websocket/server/HandshakeRequest.java \ 509 src/java/javax/websocket/server/PathParam.java \ 510 src/java/javax/websocket/server/ServerApplicationConfig.java \ 511 src/java/javax/websocket/server/ServerContainer.java \ 512 src/java/javax/websocket/server/ServerEndpoint.java \ 513 src/java/javax/websocket/server/ServerEndpointConfig.java \ 514" 515 516cat << END >> $NXT_MAKEFILE 517 518.PHONY: ${NXT_JAVA_MODULE} 519.PHONY: ${NXT_JAVA_MODULE}-install 520.PHONY: ${NXT_JAVA_MODULE}-uninstall 521 522all: ${NXT_JAVA_MODULE} 523 524${NXT_JAVA_MODULE}: $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \ 525 $NXT_BUILD_DIR/$NXT_UNIT_JAR \ 526 $NXT_BUILD_DIR/$NXT_WS_API_JAR 527 528$NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so: $nxt_objs 529 \$(NXT_MODULE_LINK) -o $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \\ 530 $nxt_objs $NXT_JAVA_LDFLAGS $NXT_LD_OPT 531 532 533install: ${NXT_JAVA_MODULE}-install 534 535${NXT_JAVA_MODULE}-install: $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \\ 536 $NXT_BUILD_DIR/$NXT_UNIT_JAR \\ 537 $NXT_BUILD_DIR/$NXT_WS_API_JAR \\ 538 java-shared-install 539 install -d \$(DESTDIR)$NXT_MODULES 540 install -p $NXT_BUILD_DIR/${NXT_JAVA_MODULE}.unit.so \\ 541 \$(DESTDIR)$NXT_MODULES/ 542 install -d \$(DESTDIR)$NXT_JARS 543 install -p -m 0644 $NXT_BUILD_DIR/$NXT_UNIT_JAR \$(DESTDIR)$NXT_JARS/ 544 install -p -m 0644 $NXT_BUILD_DIR/$NXT_WS_API_JAR \$(DESTDIR)$NXT_JARS/ 545 546 547uninstall: ${NXT_JAVA_MODULE}-uninstall 548 549${NXT_JAVA_MODULE}-uninstall: java-shared-uninstall 550 rm -f \$(DESTDIR)$NXT_MODULES/${NXT_JAVA_MODULE}.unit.so 551 @rmdir -p \$(DESTDIR)$NXT_MODULES 2>/dev/null || true 552 rm -f \$(DESTDIR)$NXT_JARS/$NXT_UNIT_JAR 553 rm -f \$(DESTDIR)$NXT_JARS/$NXT_WS_API_JAR 554 @rmdir -p \$(DESTDIR)$NXT_JARS 2>/dev/null || true 555 556END 557 558if ! grep ^$NXT_BUILD_DIR/$NXT_UNIT_JAR: $NXT_MAKEFILE 2>&1 > /dev/null; then 559 560 cat << END >> $NXT_MAKEFILE 561 562NXT_JAVA_SRCS = $NXT_JAVA_SRCS 563 564$NXT_BUILD_DIR/$NXT_JAVA_MODULE/.nginx.unit.classes: \$(NXT_JAVA_SRCS) \\ 565 $NXT_BUILD_DIR/$NXT_WS_API_JAR 566 rm -rf $NXT_BUILD_DIR/$NXT_JAVA_MODULE/nginx/unit 567 $NXT_JAVAC -d $NXT_BUILD_DIR/$NXT_JAVA_MODULE \\ 568 -cp $NXT_JAVA_BUILD_CP:$NXT_BUILD_DIR/$NXT_WS_API_JAR \\ 569 \$(NXT_JAVA_SRCS) 570 touch \$@ 571 572$NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/LICENSE: LICENSE 573 mkdir -p $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF 574 cp -p LICENSE \$@ 575 576$NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/NOTICE: NOTICE 577 mkdir -p $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF 578 cp -p NOTICE \$@ 579 580$NXT_BUILD_DIR/$NXT_UNIT_JAR: \\ 581 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/.nginx.unit.classes \\ 582 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/LICENSE \\ 583 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/NOTICE 584 $NXT_JAVA_HOME/bin/jar c -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE META-INF \\ 585 -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE nginx/unit > \$@ 586 587NXT_JAVA_WS_API_SRCS = $NXT_JAVA_WS_API_SRCS 588 589$NXT_BUILD_DIR/$NXT_JAVA_MODULE/.javax.websocket.classes: \$(NXT_JAVA_WS_API_SRCS) 590 rm -rf $NXT_BUILD_DIR/$NXT_JAVA_MODULE/javax/websocket 591 $NXT_JAVAC -d $NXT_BUILD_DIR/$NXT_JAVA_MODULE -cp $NXT_JAVA_BUILD_CP \\ 592 \$(NXT_JAVA_WS_API_SRCS) 593 touch \$@ 594 595$NXT_BUILD_DIR/$NXT_WS_API_JAR: \\ 596 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/.javax.websocket.classes \\ 597 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/LICENSE \\ 598 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/META-INF/NOTICE 599 $NXT_JAVA_HOME/bin/jar c -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE META-INF \\ 600 -C $NXT_BUILD_DIR/$NXT_JAVA_MODULE javax/websocket > \$@ 601 602END 603 604NXT_PROPS="\ 605 nginx/unit/websocket/LocalStrings.properties \ 606 nginx/unit/websocket/pojo/LocalStrings.properties \ 607 nginx/unit/websocket/server/LocalStrings.properties \ 608" 609 610for nxt_prop in $NXT_PROPS ; do 611 612 cat << END >> $NXT_MAKEFILE 613$NXT_BUILD_DIR/$NXT_JAVA_MODULE/$nxt_prop: src/java/$nxt_prop \\ 614 $NXT_BUILD_DIR/$NXT_JAVA_MODULE/.nginx.unit.classes 615 cp src/java/$nxt_prop \$@ 616 617$NXT_BUILD_DIR/$NXT_UNIT_JAR: $NXT_BUILD_DIR/$NXT_JAVA_MODULE/$nxt_prop 618 619END 620 621done 622 623fi 624 625if ! grep ^java-shared-install: $NXT_MAKEFILE 2>&1 > /dev/null; then 626 627 cat << END >> $NXT_MAKEFILE 628 629.PHONY: java-shared-install 630.PHONY: java-shared-uninstall 631 632java-shared-install: $NXT_JAVA_INSTALL_JARS 633 install -d \$(DESTDIR)$NXT_JARS 634 install -p -m 0644 $NXT_JAVA_INSTALL_JARS \$(DESTDIR)$NXT_JARS/ 635 636java-shared-uninstall: 637 rm -f $NXT_JAVA_UNINSTALL_JARS 638 @rmdir -p \$(DESTDIR)$NXT_JARS 2>/dev/null || true 639 640END 641 642fi
|