Testing out the PPD42 Air Quality Sensor, with an MSP430 Launchpad and graphing the data with GNUplot.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

833 lines
24 KiB

5 years ago
  1. #-------------------------------------------------------------------------
  2. # rxtx is a native interface to serial ports in java.
  3. # Copyright 1997-2006 by Trent Jarvi taj@www.linux.org.uk.
  4. #
  5. # This library is free software; you can redistribute it and/or
  6. # modify it under the terms of the GNU Library General Public
  7. # License as published by the Free Software Foundation; either
  8. # version 2 of the License, or (at your option) any later version.
  9. #
  10. # This library is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. # Library General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU Library General Public
  16. # License along with this library; if not, write to the Free
  17. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  18. #-------------------------------------------------------------------------
  19. AC_INIT(src/SerialImp.c)
  20. AM_CONFIG_HEADER(config.h)
  21. AC_CANONICAL_SYSTEM
  22. AC_MSG_WARN(Trying libtool. If the following fails install libtool)
  23. AC_PROG_CC
  24. # Comment these two lines out when compiling on SCO
  25. AC_DISABLE_STATIC
  26. AM_PROG_LIBTOOL
  27. # end of SCO fixes
  28. AM_INIT_AUTOMAKE(Serial,2.1-7)
  29. AC_CHECK_HEADERS(fcntl.h)
  30. AC_CHECK_HEADERS(sys/fcntl.h)
  31. AC_CHECK_HEADERS(sys/file.h)
  32. AC_CHECK_HEADERS(sys/time.h)
  33. AC_CHECK_HEADERS(sys/signal.h)
  34. AC_CHECK_HEADERS(signal.h)
  35. AC_CHECK_HEADERS(termios.h)
  36. AC_CHECK_HEADERS(grp.h)
  37. AC_CHECK_HEADERS(pwd.h)
  38. AC_PROG_GCC_TRADITIONAL
  39. AC_SUBST(WINDOWS_JAVA_INCLUDE)
  40. AC_SUBST(JAVAINCLUDEDIR)
  41. AC_SUBST(JAVAINCLUDE)
  42. AC_SUBST(JAVANATINC)
  43. AC_SUBST(CLASSPATH)
  44. AC_SUBST(TOP)
  45. AC_SUBST(TARGETLIB)
  46. AC_SUBST(LDFLAG)
  47. AC_SUBST(CFLAGS)
  48. AC_SUBST(THREAD_FLAG)
  49. AC_SUBST(OS_NAME)
  50. AC_SUBST(OS_ARCH)
  51. AC_SUBST(OS_VERSION)
  52. AC_SUBST(JAVA_VERSION)
  53. AC_SUBST(JAVA_VENDOR)
  54. AC_SUBST(JAVA_HOME)
  55. AC_SUBST(JAVA_LIBRARY_PATH)
  56. AC_SUBST(JAVA_CLASS_PATH)
  57. AC_SUBST(JAVA_CLASS_VERSION)
  58. AC_SUBST(JAVAH_FIX)
  59. AC_SUBST(JPATH)
  60. AC_SUBST(JHOME)
  61. AC_SUBST(RXTX_PATH)
  62. AC_SUBST(JAVAH)
  63. AC_SUBST(JAVAC)
  64. AC_SUBST(JAR)
  65. AC_SUBST(JAVADOC)
  66. AC_SUBST(EXTENSION)
  67. AC_SUBST(LIBTOOL_FIX)
  68. AC_SUBST(LDFLAGS)
  69. AC_SUBST(LINK)
  70. AC_SUBST(COMPILE)
  71. AC_SUBST(OBJECT_EXTENSION)
  72. AC_SUBST(LIB_EXTENSION)
  73. AC_SUBST(GLIBTOOL)
  74. # ftsoy
  75. AM_MAINTAINER_MODE
  76. JHOME=
  77. RXTX_PATH=
  78. EXTENSION="c"
  79. OBJECT_EXTENSION="lo"
  80. LIB_EXTENSION="la"
  81. COMPILE="cc "
  82. TOP="`pwd`"
  83. GLIBTOOL="\$(SHELL) \$(TOP)/libtool"
  84. LINK="\$(GLIBTOOL) --mode=link \$(CC) \$(CFLAGS) \$(LDFLAGS) -release \$(VERSION) -o librxtx\$*.la -rpath \$(RXTX_PATH)"
  85. [case "$host_os" in
  86. *-gnu)
  87. CFLAGS=$CFLAGS" -D_POSIX_SOURCE";;
  88. *);;
  89. esac]
  90. AC_ARG_ENABLE(PRINTER,
  91. [ --enable-PRINTER PRINTER support (experimental) [default=yes]],
  92. echo $enable_PRINTER,
  93. enable_PRINTER="yes"
  94. )
  95. if test x$enable_PRINTER = xyes; then
  96. TARGETLIB="\$(target_triplet)/librxtxSerial.la \
  97. \$(target_triplet)/librxtxParallel.la \
  98. \$(target_triplet)/librxtxI2C.la \
  99. \$(target_triplet)/librxtxRaw.la \
  100. \$(target_triplet)/librxtxRS485.la"
  101. else
  102. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  103. fi
  104. AC_ARG_ENABLE(lockfiles,
  105. [ --disable-lockfiles disable lock files (experimental) [default=no]],
  106. if test x$lockfiles = xyes; then
  107. echo "Using lock files"
  108. else
  109. echo "Disabling lock files"
  110. CFLAGS=$CFLAGS" -DDISABLE_LOCKFILES"
  111. fi
  112. )
  113. AC_ARG_ENABLE(liblock,
  114. [ --enable-liblock[=x] enable liblock [default=no]],
  115. if test "x$liblock" != "xno"; then
  116. echo "Using liblock"
  117. CFLAGS=$CFLAGS" -DLIBLOCKDEV"
  118. LDFLAGS=$LDFLAGS" -llockdev"
  119. else
  120. echo $liblock
  121. echo "Disabling liblock"
  122. fi
  123. )
  124. AC_ARG_ENABLE(lockfile_server,
  125. [ --enable-lockfile_server Enable interaction with a lock file server [default=no]],
  126. if test x$enable_lockfile_server = xyes; then
  127. CFLAGS=$CFLAGS" -DLFS"
  128. fi
  129. )
  130. AC_ARG_ENABLE(DEBUG,
  131. [ --enable-DEBUG Print debugging info from SerialImp.c [default=no]],
  132. if test x$enable_DEBUG = xyes; then
  133. CFLAGS=$CFLAGS" -DDEBUG"
  134. fi
  135. )
  136. find_java_native_include()
  137. {
  138. JAVANATINC="-I\$(JAVAINCLUDEDIR)/`cd $JAVAINCLUDEDIR; find . -name $1|sed s#$1##|head -n1`"
  139. if [ test `cd $JAVAINCLUDEDIR; find . -name $1|wc -l` != "1" ]; then
  140. echo 1>&2
  141. echo WARNING: configure is having a hard time determining which 1>&2
  142. echo directory contains the file $1. Edit Makefile and fix the 1>&2
  143. echo variable JAVANATINC to point to the correct directory. 1>&2
  144. echo 1>&2
  145. echo The following options are available: 1>&2
  146. find $JAVAINCLUDEDIR -name $1|sed s#jni_md\.h## 1>&2
  147. echo 1>&2
  148. echo If there are more than one option available the first was selected. 1>&2
  149. echo 1>&2
  150. fi
  151. }
  152. build_conftest()
  153. {
  154. cat > conftest.java << EOF
  155. /* this may be usefull for getting around java cobwebs during build */
  156. public class conftest
  157. {
  158. public static void main(String[[]] args)
  159. {
  160. System.out.println(System.getProperty(args[[0]]));
  161. }
  162. }
  163. EOF
  164. CLASSPATH=.:$CLASSPATH
  165. if test x$JAVA_HOME = x; then
  166. javac -classpath .:$CLASSPATH: conftest.java
  167. else
  168. $JAVA_HOME/bin/javac -classpath .:$CLASSPATH: conftest.java
  169. fi
  170. }
  171. run_conftest()
  172. {
  173. echo $ECHO_N checking $1 " " 1>&6
  174. if test x$JPATH = x; then
  175. VAR=`java -classpath .:$CLASSPATH: conftest $1`
  176. else
  177. VAR=`$JPATH/bin/java -classpath .:$CLASSPATH: conftest $1`
  178. fi
  179. echo $VAR 1>&6
  180. echo $VAR
  181. return
  182. }
  183. build_conftest
  184. if test x$JAVA_HOME = x; then
  185. JPATH=`run_conftest java.home| sed s#\/jre\\$##g`
  186. else
  187. JPATH=$JAVA_HOME
  188. echo $JAVA_HOME
  189. AC_MSG_WARN(using JAVA_HOME environmental variable)
  190. fi
  191. if test x$JPATH = x; then
  192. AC_MSG_ERROR([Make sure java is in your path before running configure])
  193. fi
  194. echo adjusted java.home is $JPATH
  195. if test "$target_alias" = i386-mingw32 ;then
  196. OS_NAME=WIN32
  197. else
  198. OS_NAME=`run_conftest os.name`
  199. fi
  200. OS_ARCH=`run_conftest os.arch`
  201. #JAVA_CLASS_PATH=`run_conftest java.class.path`
  202. #JAVA_LIBRARY_PATH=`run_conftest java.library.path`
  203. JAVA_VENDOR=`run_conftest java.vendor`
  204. JAVA_VERSION=`run_conftest java.version`
  205. rm -f conftest.java
  206. rm -f conftest.class
  207. echo $ECHO_N checking os.version " " 1>&6
  208. OS_VERSION=`uname -r`
  209. echo $OS_VERSION 1>&6
  210. check_prefix()
  211. {
  212. if test $prefix != "/usr";then
  213. echo 1>&2
  214. echo "WARNING: configure was not run with option --prefix=/usr" 1>&2
  215. echo " Unless /usr/local/lib or the specified prefix is in" 1>&2
  216. echo " the linkers path this will cause problems later on." 1>&2
  217. echo 1>&2
  218. fi
  219. }
  220. # an attempt to compile on libc5 linux machines
  221. check_java_headers()
  222. {
  223. cat > conftest.c << EOF
  224. #include <features.h>
  225. #include <stdio.h>
  226. #include <stdlib.h>
  227. int main(int argc, char *argv[])
  228. {
  229. #if defined (__GLIBC__)
  230. printf("%i\n",__GLIBC__);
  231. #else
  232. printf("0\n");
  233. #endif
  234. exit(0);
  235. }
  236. EOF
  237. cc conftest.c -o conftest
  238. if [ test `./conftest` -lt 2 ];then
  239. echo 1>&2
  240. echo " WARNING: Older libc on linux detected. Patching a local copy of jni_md.h" 1>&2
  241. echo 1>&2
  242. ln -s `find $JAVAINCLUDEDIR -name jni.h` .
  243. cp `find $JAVAINCLUDEDIR -name typedefs_md.h` .
  244. # not pretty. could be cleaned up
  245. patch << EOF
  246. --- typedefs_md.h Tue Jan 11 14:17:08 2000
  247. +++ typedefs_md.h.patchtaj Tue Jan 11 14:15:53 2000
  248. @@ -17,9 +17,6 @@
  249. */
  250. /* sbb: Johan Vos, why isn't this #ifndef inside the solaris header guard? */
  251. -#ifndef BITSPERCHAR
  252. -#define BITSPERCHAR 8
  253. -#endif
  254. #ifndef _SOLARIS_TYPES_MD_H_
  255. #define _SOLARIS_TYPES_MD_H_
  256. @@ -28,50 +25,19 @@
  257. #include <sys/stat.h>
  258. #include "bool.h"
  259. -#if defined(__alpha__)
  260. -typedef unsigned long ptr_int;
  261. -#define PTR_IS_64 1
  262. -#define LONG_IS_64 1
  263. -#else
  264. typedef unsigned int ptr_int;
  265. #define PTR_IS_32 1
  266. -#endif
  267. /* don't redefine typedef's on Solaris 2.6 or Later */
  268. -#if !defined(_ILP32) && !defined(_LP64)
  269. -
  270. -#ifndef _UINT64_T
  271. -#define _UINT64_T
  272. -#ifdef LONG_IS_64
  273. -typedef unsigned long uint64_t;
  274. -#else
  275. typedef unsigned long long uint64_t;
  276. -#endif
  277. -#define _UINT32_T
  278. typedef unsigned int uint32_t;
  279. -#if defined(__linux__)
  280. typedef unsigned int uint_t;
  281. -#endif
  282. -#endif
  283. -#ifndef __BIT_TYPES_DEFINED__
  284. -#ifdef (__i386__)
  285. -/* that should get Linux, at least */
  286. #ifndef _INT64_T
  287. #define _INT64_T
  288. -#ifdef LONG_IS_64
  289. -typedef long int64_t;
  290. -#else
  291. typedef long long int64_t;
  292. -#endif
  293. -#define _INT32_T
  294. -typedef int int32_t;
  295. -#if defined(__linux__)
  296. -typdef int int_t;
  297. -#endif
  298. -#endif
  299. -#endif /* i386 */
  300. +typedef int int_t;
  301. #endif /* __BIT_TYPES_DEFINED__ */
  302. #endif /* !defined(_ILP32) && !defined(_LP64) */
  303. @@ -110,27 +76,15 @@
  304. #endif
  305. -/* On Intel these conversions have to be method calls and not typecasts.
  306. - See the win32 typedefs_md.h file */
  307. -#if ((defined(i386) || defined (__i386)) && defined(__solaris__)) || defined(__powerpc__)
  308. -
  309. -extern int32_t float2l(float f);
  310. -extern int32_t double2l(double d);
  311. -extern int64_t float2ll(float f);
  312. -extern int64_t double2ll(double d);
  313. -
  314. -#else /* not solaris x386 or linux powerpc*/
  315. -
  316. #define float2l(f) (f)
  317. #define double2l(f) (f)
  318. #define float2ll(f) ((int64_t) (f))
  319. #define double2ll(f) ((int64_t) (f))
  320. -#endif /* i386 */
  321. -
  322. #define ll2float(a) ((float) (a))
  323. #define ll2double(a) ((double) (a))
  324. +#define double2ll(f) ((int64_t) (f))
  325. /* comparison operators */
  326. #define ll_ltz(ll) ((ll)<0)
  327. @@ -148,13 +102,7 @@
  328. extern void ll2str(int64_t a, char *s, char *limit);
  329. -#if defined(ppc) || defined(__ppc__) || defined(__alpha__) || defined(__sparc__)
  330. -#ifndef HAVE_ALIGNED_DOUBLES
  331. +#if defined(ppc) || defined(__ppc__) || defined(__alpha__)
  332. #define HAVE_ALIGNED_DOUBLES
  333. -#endif
  334. -#ifndef HAVE_ALIGNED_LONGLONGS
  335. #define HAVE_ALIGNED_LONGLONGS
  336. #endif
  337. -#endif
  338. -
  339. -#endif /* !_SOLARIS_TYPES_MD_H_ */
  340. EOF
  341. fi
  342. rm -f conftest.c
  343. rm -f conftest
  344. }
  345. check_kernel_headers()
  346. {
  347. cat > conftest.c << EOF
  348. #include <linux/version.h>
  349. #include <stdio.h>
  350. #include <stdlib.h>
  351. int main(int argc, char *argv[])
  352. {
  353. printf(UTS_RELEASE"\n");
  354. exit(0);
  355. }
  356. EOF
  357. cc conftest.c -o conftest
  358. if [ test `uname -r` != `./conftest` ];then
  359. echo 1>&2
  360. echo " WARNING: Kernel include files do not match the current kernel" 1>&2
  361. echo 1>&2
  362. fi
  363. rm -f conftest.c
  364. rm -f conftest
  365. }
  366. #fix_mac_groups()
  367. #{
  368. #this is what the Mac OS X installer does... untested
  369. # sudo mkdir /var/spool/uucp
  370. # sudo chmod 775 /var/spool/uucp
  371. # sudo niutil -destroyval / /groups/uucp users `sudo id -p | grep 'login' | sed 's/login.//'`
  372. # sudo niutil -appendprop / /groups/uucp users `sudo id -p | grep 'login' | sed 's/login.//'`
  373. #}
  374. fix_comm_jar()
  375. {
  376. if [ test -f $1 ];then
  377. echo "------------------------------------------------------" 1>&2
  378. echo "WARNING: A comm.jar file is already installed" 1>&2
  379. echo "make sure your CLASSPATH points to RXTXcomm.jar!" 1>&2
  380. echo 1>&2
  381. echo $1
  382. echo 1>&2
  383. echo "------------------------------------------------------" 1>&2
  384. fi;
  385. }
  386. [ case $OS_NAME in
  387. Mac\ OS\ X)
  388. JAVAINCLUDEDIR=$JPATH/../../../Headers
  389. ;;
  390. *)
  391. JAVAINCLUDEDIR=$JPATH/include
  392. ;;
  393. esac ]
  394. JAVAINCLUDE="-I\$(JAVAINCLUDEDIR)"
  395. if test "$CC" = "gcc" || test "$CC"="egcs"; then
  396. case $JAVA_VENDOR in
  397. Tran*)
  398. find_java_native_include jni.h
  399. JAVAH="\$(JPATH)/bin/kaffeh -classpath \$(CLASSPATH) -d \$(DEST) -jni"
  400. JAVAC="\$(JPATH)/bin/javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3"
  401. JAR="\$(JPATH)/bin/jar"
  402. JAVADOC="\$(JPATH)/bin/javadoc -classpath \$(CLASSPATH)"
  403. CFLAGS=$CFLAGS" -D_BSD_SOURCE"
  404. JAVAINCLUDE=""
  405. JAVAH_FIX="if test ! -d \$(target_triplet);then mkdir \$(target_triplet);fi;"
  406. JHOME=$JPATH"/share/kaffe/"
  407. RXTX_PATH=$JPATH"/lib/kaffe/"
  408. ;;
  409. *)
  410. find_java_native_include jni_md.h
  411. JAVAH="\$(JPATH)/bin/javah -classpath \$(CLASSPATH) -d \$(DEST) -jni"
  412. JAVAC="\$(JPATH)/bin/javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3"
  413. JAR="\$(JPATH)/bin/jar"
  414. JAVADOC="\$(JPATH)/bin/javadoc"
  415. CFLAGS=$CFLAGS" -D_BSD_SOURCE"
  416. ;;
  417. esac
  418. fi
  419. if [ test -d $JPATH/share/kaffe/ ]
  420. then fix_comm_jar $JPATH/share/kaffe/comm.jar
  421. elif [ test -d $JPATH/jre/lib/ext ]
  422. then fix_comm_jar $JPATH/jre/lib/ext/comm.jar
  423. elif [ test -d $JPATH/lib/ext ]
  424. then fix_comm_jar $JPATH/lib/ext/comm.jar
  425. elif [ test -d $JPATH/lib ]
  426. then fix_comm_jar $JPATH/lib/comm.jar
  427. fi
  428. # http://www.tolstoy.com/samizdat/sysprops.html
  429. [ case $OS_NAME in
  430. Linux)
  431. LDFLAGS=$LDFLAGS" -lpthread"
  432. check_kernel_headers
  433. check_java_headers
  434. CFLAGS=$CFLAGS" -D__need_timespec"
  435. case $JAVA_VERSION in
  436. 1.2*|1.3*|1.4*|1.5*)
  437. #fix_parameters $JPATH/jre/lib/javax.comm.properties
  438. CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1`
  439. JHOME=$JPATH"/jre/lib/ext"
  440. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  441. ;;
  442. 1.1*)
  443. CLASSPATH=".:\$(TOP):\$(TOP)/src:"` \
  444. if [ -d $JPATH/share/kaffe/ ]; then
  445. find $JPATH/share/kaffe/ -name [cK]lasses.[jz][ai][rp]
  446. elif [ -d $JPATH/lib/ ]; then
  447. find $JPATH/lib/ -name [cK]lasses.[jz][ai][rp]
  448. fi`":"`
  449. if [ -d $JPATH/share/kaffe/ ]; then
  450. find $JPATH/share/kaffe/ -name RXTXcomm.jar
  451. elif [ -d $JPATH/lib/ ]; then
  452. find $JPATH/lib/ -name RXTXcomm.jar
  453. fi`
  454. if test x"$RXTX_PATH" = x;then
  455. # We are not using Kaffe
  456. #fix_parameters $JPATH/lib/javax.comm.properties
  457. check_prefix
  458. RXTX_PATH="\$(prefix)/lib/"
  459. JAVAH_FIX="if [ ! -d com ]; then if [ ! -f \$(JPATH)/lib/comm.jar ]; then echo \"Please install comm.jar from CommAPI in \$(JPATH)/java/lib/ 1>&2\"; else mkdir -p com/sun/comm;\$(JAR) -xf \$(JPATH)/lib/comm.jar; fi; fi;";
  460. else
  461. # Kaffe
  462. CLASSPATH=$CLASSPATH:`find $JHOME -name RXTXcomm.jar`
  463. echo "Warning! Kaffe's comm.jar does not support rxtx"
  464. echo "See INSTALL for details"
  465. fi;
  466. if test x"$JHOME" = x;then
  467. JHOME=$JPATH/"lib"
  468. fi
  469. ;;
  470. esac
  471. # Cross Compilers
  472. #echo ----------------------------
  473. #echo $target_os
  474. #echo ----------------------------
  475. case $target_os in
  476. linux*)
  477. ;;
  478. beos*)
  479. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  480. EXTENSION="cpp"
  481. LDFLAGS=$LDFLAGS" -ldevice"
  482. #echo ----------------------------
  483. #echo $target_os
  484. #echo ----------------------------
  485. ;;
  486. freebsd*)
  487. ;;
  488. solaris*)
  489. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  490. #echo ----------------------------
  491. #echo $target_os
  492. #echo ----------------------------
  493. ;;
  494. esac
  495. ;;
  496. *BSD)
  497. LDFLAGS=$LDFLAGS" -lc_r"
  498. JHOME=$JPATH/"lib"
  499. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  500. TARGETLIB="\$(target_triplet)/librxtxSerial.la \
  501. \$(target_triplet)/librxtxParallel.la"
  502. case $JAVA_VERSION in
  503. 1.2*|1.3*|1.4*|1.5*)
  504. #fix_parameters $JPATH/jre/lib/javax.comm.properties
  505. CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1`
  506. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  507. JHOME=$JPATH/"jre/lib/ext"
  508. ;;
  509. 1.1*)
  510. check_prefix
  511. #fix_parameters $JPATH/lib/javax.comm.properties
  512. CLASSPATH=".:\$(TOP):\$(TOP)/src:"` \
  513. if [ -d $JPATH/share/kaffe/ ]; then
  514. find $JPATH/share/kaffe/ -name [cK]lasses.[jz][ai][rp]
  515. elif [ -d $JPATH/lib/ ]; then
  516. find $JPATH/lib/ -name [cK]lasses.[jz][ai][rp]
  517. fi`":"`
  518. if [ -d $JPATH/share/kaffe/ ]; then
  519. find $JPATH/share/kaffe/ -name RXTXcomm.jar
  520. elif [ -d $JPATH/lib/ ]; then
  521. find $JPATH/lib/ -name RXTXcomm.jar
  522. fi`
  523. if test x"$RXTX_PATH" = x;then
  524. # We are not using Kaffe
  525. #fix_parameters $JPATH/lib/javax.comm.properties
  526. check_prefix
  527. RXTX_PATH="\$(prefix)/lib/"
  528. JAVAH_FIX="if [ ! -d com ]; then if [ ! -f \$(JPATH)/lib/comm.jar ]; then echo \"Please install comm.jar from CommAPI in \$(JPATH)/java/lib/ 1>&2\"; else mkdir -p com/sun/comm;\$(JAR) -xf \$(JPATH)/lib/comm.jar; fi; fi;";
  529. else
  530. # Kaffe
  531. CLASSPATH=$CLASSPATH:`find $JHOME -name RXTXcomm.jar`
  532. echo "Warning! Kaffe's comm.jar does not support rxtx"
  533. echo "See INSTALL for details"
  534. fi;
  535. RXTX_PATH="\$(prefix)/lib"
  536. JHOME=$JPATH/"lib"
  537. ;;
  538. *)
  539. ;;
  540. esac
  541. ;;
  542. Irix*)
  543. JHOME=$JPATH/"lib"
  544. CFLAGS=$CFLAGS" -I/usr/include"
  545. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  546. RXTX_PATH="\$(JPATH)/lib/\$(OS_ARCH)"
  547. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  548. ;;
  549. # since the os.name is different for UnixWare and OpenUNIX we could use it to
  550. # differentiate the lock files See SerialImp.h for comments on the lock files
  551. # in SCO. Currently that would be a build time fix though.
  552. # FIXME
  553. UnixWare|OpenUNIX)
  554. LDFLAGS=$LDFLAGS" -lpthread_this_may_be_wrong__trent"
  555. JHOME=$JPATH/"jre/lib"
  556. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1 -D__unixware__"
  557. CLASSPATH="-classpath .:\$(TOP):\$(TOP)/src:\$(JPATH)/jre/lib/rt.jar:\$(JPATH)/jre/lib/ext/comm.jar"
  558. TARGETLIB="\$(target_triplet)/librxtxSerial.so \
  559. \$(target_triplet)/librxtxParallel.so"
  560. COMPILE="\$(CC) \$(INCLUDES) \$(CPPFLAGS) \$(CFLAGS) \$(VERBOSE_IOEXCEPTIONS) -c "
  561. LINK="\$(CC) \$(CFLAGS) \$(LDFLAGS)"
  562. echo "In UnixWare, CLASSPATH is $CLASSPATH"
  563. ;;
  564. HP-UX)
  565. LDFLAGS=$LDFLAGS" -lpthread_this_may_be_wrong__trent"
  566. CFLAGS=$CFLAGS" -g -Aa +e -D__hpux__ -D_HPUX_SOURCE -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  567. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  568. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  569. case $JAVA_VERSION in
  570. HP-UX\ Java\ C.01.2*|HP-UX\ Java\ C.01.3*)
  571. #fix_parameters $JPATH/jre/lib/javax.comm.properties
  572. JHOME=$JPATH"/jre/lib/ext"
  573. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/jre/lib/ext/RXTXcomm.jar:$CLASSPATH"
  574. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  575. echo WARNING $JAVA_VERSION is untested please email this message to taj@www.linux.org.uk and let me know if it works.
  576. ;;
  577. HP-UX\ Java\ C.01.1*)
  578. #fix_parameters $JPATH/lib/javax.comm.properties
  579. JHOME=$JPATH/"lib"
  580. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  581. RXTX_PATH="\$(prefix)/lib/"
  582. ;;
  583. *)
  584. #fix_parameters $JPATH/lib/javax.comm.properties
  585. JHOME=$JPATH"/lib"
  586. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  587. RXTX_PATH="\$(prefix)/lib/"
  588. echo WARNING $JAVA_VERSION is untested please email this message to taj@www.linux.org.uk and let me know if it works.
  589. ;;
  590. esac
  591. case $OS_ARCH in
  592. PA-RISC)
  593. ;;
  594. *)
  595. ;;
  596. esac
  597. case $OS_VERSION in
  598. B.10.20)
  599. ;;
  600. *)
  601. ;;
  602. esac
  603. case $JAVA_VENDOR in
  604. Hewlett\ Packard\ Co\.)
  605. ;;
  606. *)
  607. ;;
  608. esac
  609. ;;
  610. BeOS)
  611. echo WARNING: BeOS support is in RXTX-1.5
  612. JHOME=$JPATH"/share/kaffe"
  613. RXTX_PATH="\$(JPATH)/lib/"
  614. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  615. CLASSPATH=".:\$(TOP):\$(TOP)/../src:\$(JPATH)/share/kaffe/Klasses.jar:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  616. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  617. EXTENSION="cpp"
  618. LDFLAGS=$LDFLAGS" -ldevice"
  619. # sigh, from ltconfig
  620. # beos*)
  621. # if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
  622. # allow_undefined_flag=unsupported
  623. # # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  624. # # support --undefined. This deserves some investigation. FIXME
  625. LIBTOOL_FIX="sed s/deplibs_check_method=\\\"unknown\\\"/deplibs_check_method=\\\"pass_all\\\"/1 libtool > libtool.tmp; sed s/allow_undefined_flag=\\\"unsupported\\\"/allow_undefined_flag=\\\"supported\\\"/1 libtool.tmp > libtool;rm libtool.tmp;"
  626. ;;
  627. WIN32)
  628. case $JAVA_VERSION in
  629. 1.2*|1.3*|1.4*|1.5*)
  630. CLASSPATH=".:\$(TOP):\$(TOP)/src:`find $JPATH/ -name RXTXcomm.jar |head -n1`:$CLASSPATH"
  631. JHOME=$JPATH"/jre/lib/ext"
  632. ;;
  633. 1.1*)
  634. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  635. RXTX_PATH="\$(prefix)/lib/"
  636. JHOME=$JPATH/"lib"
  637. ;;
  638. esac
  639. if test x$WIN32INCLUDE = x; then
  640. echo "We need to know what directory the windows java include files"
  641. echo "are located in. Please enter the directory now."
  642. echo
  643. echo "example /home/jarvi/win32java/include"
  644. echo
  645. read REPLY
  646. WINDOWS_JAVA_INCLUDE="-I$REPLY -I$REPLY/win32"
  647. else
  648. WINDOWS_JAVA_INCLUDE="-I$WIN32INCLUDE -I$WIN32INCLUDE/win32"
  649. fi
  650. TARGETLIB="\$(target_triplet)/rxtxSerial.dll \$(target_triplet)/rxtxParallel.dll"
  651. echo "$WINDOWS_JAVA_INCLUDE"
  652. ;;
  653. Mac\ OS\ X)
  654. #fix_mac_groups
  655. #fix_parameters $JPATH/lib/javax.comm.properties
  656. GLIBTOOL="\$(SHELL) glibtool"
  657. LINK="cc -bundle -framework CoreFoundation -framework IOKit -o librxtx\$*.jnilib "
  658. OBJECT_EXTENSION="o"
  659. LIB_EXTENSION="jnilib"
  660. TARGETLIB="\$(target_triplet)/librxtxSerial.jnilib"
  661. RXTX_PATH="/usr/lib/java"
  662. JHOME=$JPATH"/lib/ext"
  663. CFLAGS=$CFLAGS" -bundle"
  664. LDFLAGS=$LDFLAGS" -module -framework JavaVM -framework IOKit -framework CoreFoundation"
  665. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/ext/RXTXcomm.jar:$CLASSPATH"
  666. # email taj@www.linux.org.uk if you know a nicer fix. Needed anymore?
  667. # this fix was really old taj 6/05
  668. # LIBTOOL_FIX="sed s/echo\ so/echo\ jnilib/g libtool > tmp; mv tmp libtool; chmod +x libtool;"
  669. ;;
  670. Solaris*)
  671. + LDFLAGS=$LDFLAGS" -lpthread"
  672. TARGETLIB="\$(target_triplet)/librxtxSerial.la \
  673. \$(target_triplet)/librxtxParallel.la"
  674. JHOME=$JPATH/"lib"
  675. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  676. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  677. case $JAVA_VERSION in
  678. 1.2*|1.3*|1.4*|1.5*)
  679. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  680. ;;
  681. 1.1*)
  682. RXTX_PATH="\$(JPATH)/lib/"
  683. ;;
  684. esac
  685. ;;
  686. OS*2)
  687. # Place marker only
  688. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  689. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  690. JHOME=$JPATH/"lib"
  691. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  692. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  693. ;;
  694. AIX)
  695. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  696. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  697. JHOME=$JPATH/"lib"
  698. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  699. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  700. ;;
  701. Compaq\'s\ Digital\ Unix | OSF1 )
  702. LDFLAGS=$LDFLAGS" -lpthread"
  703. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  704. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  705. JHOME=$JPATH/"lib"
  706. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  707. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  708. ;;
  709. NetWare*)
  710. # Place marker only
  711. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  712. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  713. JHOME=$JPATH/"lib"
  714. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  715. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  716. ;;
  717. MPE*)
  718. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  719. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  720. JHOME=$JPATH/"lib"
  721. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  722. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  723. ;;
  724. #os.name reported "QNX"
  725. #java.vendor reported "IBM Corporation"
  726. #java.version reported "1.3.0 subset"
  727. #
  728. #Originally nothing was reported. javac is called j9c and java is called
  729. #j9 with the
  730. #j9 vm. I created symbolic links temporarily to get by that. Currently
  731. #I'm puking when
  732. #it tries to jar things up since j9 doesn't ship with a jar tool.
  733. #All right. Here is how things stand on porting 2.1 to QNX. (This is were
  734. #I stumble and fall)
  735. #I decided to try it without any mods initially. It made through
  736. #./configure fine except for
  737. #finding the java include dir. Since we are using j9, the include dir is
  738. #under bin. I set
  739. #JAVANATINC to point to it in Makefile and then ran make. J9 then puked
  740. #on the -O arg to javac,
  741. #so I removed it. Now it is puking on importing java.awt. What is the
  742. #best way to filter out/
  743. #isolate the gui pieces since I won't be using them on qnx?
  744. QNX)
  745. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  746. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  747. JHOME=$JPATH/"lib"
  748. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  749. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  750. ;;
  751. *)
  752. TARGETLIB="\$(target_triplet)/librxtxSerial.la"
  753. RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
  754. JHOME=$JPATH/"lib"
  755. CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1"
  756. CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
  757. ;;
  758. esac ]
  759. AC_OUTPUT(Makefile)
  760. ################################ END ########################################
  761. # Toys. Gota lovem.
  762. #echo $ECHO_N checking java.library.path " "
  763. #JAVA_LIBRARY_PATH=`java conftest "java.library.path"`
  764. #echo $JAVA_LIBRARY_PATH
  765. #echo $ECHO_N checking java.class.version " "
  766. #JAVA_CLASS_VERSION=`java conftest "java.class.version"`
  767. #echo $JAVA_CLASS_VERSION