#------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2006 by Trent Jarvi taj@www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- AC_INIT(src/SerialImp.c) AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM AC_MSG_WARN(Trying libtool. If the following fails install libtool) AC_PROG_CC # Comment these two lines out when compiling on SCO AC_DISABLE_STATIC AM_PROG_LIBTOOL # end of SCO fixes AM_INIT_AUTOMAKE(Serial,2.1-7) AC_CHECK_HEADERS(fcntl.h) AC_CHECK_HEADERS(sys/fcntl.h) AC_CHECK_HEADERS(sys/file.h) AC_CHECK_HEADERS(sys/time.h) AC_CHECK_HEADERS(sys/signal.h) AC_CHECK_HEADERS(signal.h) AC_CHECK_HEADERS(termios.h) AC_CHECK_HEADERS(grp.h) AC_CHECK_HEADERS(pwd.h) AC_PROG_GCC_TRADITIONAL AC_SUBST(WINDOWS_JAVA_INCLUDE) AC_SUBST(JAVAINCLUDEDIR) AC_SUBST(JAVAINCLUDE) AC_SUBST(JAVANATINC) AC_SUBST(CLASSPATH) AC_SUBST(TOP) AC_SUBST(TARGETLIB) AC_SUBST(LDFLAG) AC_SUBST(CFLAGS) AC_SUBST(THREAD_FLAG) AC_SUBST(OS_NAME) AC_SUBST(OS_ARCH) AC_SUBST(OS_VERSION) AC_SUBST(JAVA_VERSION) AC_SUBST(JAVA_VENDOR) AC_SUBST(JAVA_HOME) AC_SUBST(JAVA_LIBRARY_PATH) AC_SUBST(JAVA_CLASS_PATH) AC_SUBST(JAVA_CLASS_VERSION) AC_SUBST(JAVAH_FIX) AC_SUBST(JPATH) AC_SUBST(JHOME) AC_SUBST(RXTX_PATH) AC_SUBST(JAVAH) AC_SUBST(JAVAC) AC_SUBST(JAR) AC_SUBST(JAVADOC) AC_SUBST(EXTENSION) AC_SUBST(LIBTOOL_FIX) AC_SUBST(LDFLAGS) AC_SUBST(LINK) AC_SUBST(COMPILE) AC_SUBST(OBJECT_EXTENSION) AC_SUBST(LIB_EXTENSION) AC_SUBST(GLIBTOOL) # ftsoy AM_MAINTAINER_MODE JHOME= RXTX_PATH= EXTENSION="c" OBJECT_EXTENSION="lo" LIB_EXTENSION="la" COMPILE="cc " TOP="`pwd`" GLIBTOOL="\$(SHELL) \$(TOP)/libtool" LINK="\$(GLIBTOOL) --mode=link \$(CC) \$(CFLAGS) \$(LDFLAGS) -release \$(VERSION) -o librxtx\$*.la -rpath \$(RXTX_PATH)" [case "$host_os" in *-gnu) CFLAGS=$CFLAGS" -D_POSIX_SOURCE";; *);; esac] AC_ARG_ENABLE(PRINTER, [ --enable-PRINTER PRINTER support (experimental) [default=yes]], echo $enable_PRINTER, enable_PRINTER="yes" ) if test x$enable_PRINTER = xyes; then TARGETLIB="\$(target_triplet)/librxtxSerial.la \ \$(target_triplet)/librxtxParallel.la \ \$(target_triplet)/librxtxI2C.la \ \$(target_triplet)/librxtxRaw.la \ \$(target_triplet)/librxtxRS485.la" else TARGETLIB="\$(target_triplet)/librxtxSerial.la" fi AC_ARG_ENABLE(lockfiles, [ --disable-lockfiles disable lock files (experimental) [default=no]], if test x$lockfiles = xyes; then echo "Using lock files" else echo "Disabling lock files" CFLAGS=$CFLAGS" -DDISABLE_LOCKFILES" fi ) AC_ARG_ENABLE(liblock, [ --enable-liblock[=x] enable liblock [default=no]], if test "x$liblock" != "xno"; then echo "Using liblock" CFLAGS=$CFLAGS" -DLIBLOCKDEV" LDFLAGS=$LDFLAGS" -llockdev" else echo $liblock echo "Disabling liblock" fi ) AC_ARG_ENABLE(lockfile_server, [ --enable-lockfile_server Enable interaction with a lock file server [default=no]], if test x$enable_lockfile_server = xyes; then CFLAGS=$CFLAGS" -DLFS" fi ) AC_ARG_ENABLE(DEBUG, [ --enable-DEBUG Print debugging info from SerialImp.c [default=no]], if test x$enable_DEBUG = xyes; then CFLAGS=$CFLAGS" -DDEBUG" fi ) find_java_native_include() { JAVANATINC="-I\$(JAVAINCLUDEDIR)/`cd $JAVAINCLUDEDIR; find . -name $1|sed s#$1##|head -n1`" if [ test `cd $JAVAINCLUDEDIR; find . -name $1|wc -l` != "1" ]; then echo 1>&2 echo WARNING: configure is having a hard time determining which 1>&2 echo directory contains the file $1. Edit Makefile and fix the 1>&2 echo variable JAVANATINC to point to the correct directory. 1>&2 echo 1>&2 echo The following options are available: 1>&2 find $JAVAINCLUDEDIR -name $1|sed s#jni_md\.h## 1>&2 echo 1>&2 echo If there are more than one option available the first was selected. 1>&2 echo 1>&2 fi } build_conftest() { cat > conftest.java << EOF /* this may be usefull for getting around java cobwebs during build */ public class conftest { public static void main(String[[]] args) { System.out.println(System.getProperty(args[[0]])); } } EOF CLASSPATH=.:$CLASSPATH if test x$JAVA_HOME = x; then javac -classpath .:$CLASSPATH: conftest.java else $JAVA_HOME/bin/javac -classpath .:$CLASSPATH: conftest.java fi } run_conftest() { echo $ECHO_N checking $1 " " 1>&6 if test x$JPATH = x; then VAR=`java -classpath .:$CLASSPATH: conftest $1` else VAR=`$JPATH/bin/java -classpath .:$CLASSPATH: conftest $1` fi echo $VAR 1>&6 echo $VAR return } build_conftest if test x$JAVA_HOME = x; then JPATH=`run_conftest java.home| sed s#\/jre\\$##g` else JPATH=$JAVA_HOME echo $JAVA_HOME AC_MSG_WARN(using JAVA_HOME environmental variable) fi if test x$JPATH = x; then AC_MSG_ERROR([Make sure java is in your path before running configure]) fi echo adjusted java.home is $JPATH if test "$target_alias" = i386-mingw32 ;then OS_NAME=WIN32 else OS_NAME=`run_conftest os.name` fi OS_ARCH=`run_conftest os.arch` #JAVA_CLASS_PATH=`run_conftest java.class.path` #JAVA_LIBRARY_PATH=`run_conftest java.library.path` JAVA_VENDOR=`run_conftest java.vendor` JAVA_VERSION=`run_conftest java.version` rm -f conftest.java rm -f conftest.class echo $ECHO_N checking os.version " " 1>&6 OS_VERSION=`uname -r` echo $OS_VERSION 1>&6 check_prefix() { if test $prefix != "/usr";then echo 1>&2 echo "WARNING: configure was not run with option --prefix=/usr" 1>&2 echo " Unless /usr/local/lib or the specified prefix is in" 1>&2 echo " the linkers path this will cause problems later on." 1>&2 echo 1>&2 fi } # an attempt to compile on libc5 linux machines check_java_headers() { cat > conftest.c << EOF #include #include #include int main(int argc, char *argv[]) { #if defined (__GLIBC__) printf("%i\n",__GLIBC__); #else printf("0\n"); #endif exit(0); } EOF cc conftest.c -o conftest if [ test `./conftest` -lt 2 ];then echo 1>&2 echo " WARNING: Older libc on linux detected. Patching a local copy of jni_md.h" 1>&2 echo 1>&2 ln -s `find $JAVAINCLUDEDIR -name jni.h` . cp `find $JAVAINCLUDEDIR -name typedefs_md.h` . # not pretty. could be cleaned up patch << EOF --- typedefs_md.h Tue Jan 11 14:17:08 2000 +++ typedefs_md.h.patchtaj Tue Jan 11 14:15:53 2000 @@ -17,9 +17,6 @@ */ /* sbb: Johan Vos, why isn't this #ifndef inside the solaris header guard? */ -#ifndef BITSPERCHAR -#define BITSPERCHAR 8 -#endif #ifndef _SOLARIS_TYPES_MD_H_ #define _SOLARIS_TYPES_MD_H_ @@ -28,50 +25,19 @@ #include #include "bool.h" -#if defined(__alpha__) -typedef unsigned long ptr_int; -#define PTR_IS_64 1 -#define LONG_IS_64 1 -#else typedef unsigned int ptr_int; #define PTR_IS_32 1 -#endif /* don't redefine typedef's on Solaris 2.6 or Later */ -#if !defined(_ILP32) && !defined(_LP64) - -#ifndef _UINT64_T -#define _UINT64_T -#ifdef LONG_IS_64 -typedef unsigned long uint64_t; -#else typedef unsigned long long uint64_t; -#endif -#define _UINT32_T typedef unsigned int uint32_t; -#if defined(__linux__) typedef unsigned int uint_t; -#endif -#endif -#ifndef __BIT_TYPES_DEFINED__ -#ifdef (__i386__) -/* that should get Linux, at least */ #ifndef _INT64_T #define _INT64_T -#ifdef LONG_IS_64 -typedef long int64_t; -#else typedef long long int64_t; -#endif -#define _INT32_T -typedef int int32_t; -#if defined(__linux__) -typdef int int_t; -#endif -#endif -#endif /* i386 */ +typedef int int_t; #endif /* __BIT_TYPES_DEFINED__ */ #endif /* !defined(_ILP32) && !defined(_LP64) */ @@ -110,27 +76,15 @@ #endif -/* On Intel these conversions have to be method calls and not typecasts. - See the win32 typedefs_md.h file */ -#if ((defined(i386) || defined (__i386)) && defined(__solaris__)) || defined(__powerpc__) - -extern int32_t float2l(float f); -extern int32_t double2l(double d); -extern int64_t float2ll(float f); -extern int64_t double2ll(double d); - -#else /* not solaris x386 or linux powerpc*/ - #define float2l(f) (f) #define double2l(f) (f) #define float2ll(f) ((int64_t) (f)) #define double2ll(f) ((int64_t) (f)) -#endif /* i386 */ - #define ll2float(a) ((float) (a)) #define ll2double(a) ((double) (a)) +#define double2ll(f) ((int64_t) (f)) /* comparison operators */ #define ll_ltz(ll) ((ll)<0) @@ -148,13 +102,7 @@ extern void ll2str(int64_t a, char *s, char *limit); -#if defined(ppc) || defined(__ppc__) || defined(__alpha__) || defined(__sparc__) -#ifndef HAVE_ALIGNED_DOUBLES +#if defined(ppc) || defined(__ppc__) || defined(__alpha__) #define HAVE_ALIGNED_DOUBLES -#endif -#ifndef HAVE_ALIGNED_LONGLONGS #define HAVE_ALIGNED_LONGLONGS #endif -#endif - -#endif /* !_SOLARIS_TYPES_MD_H_ */ EOF fi rm -f conftest.c rm -f conftest } check_kernel_headers() { cat > conftest.c << EOF #include #include #include int main(int argc, char *argv[]) { printf(UTS_RELEASE"\n"); exit(0); } EOF cc conftest.c -o conftest if [ test `uname -r` != `./conftest` ];then echo 1>&2 echo " WARNING: Kernel include files do not match the current kernel" 1>&2 echo 1>&2 fi rm -f conftest.c rm -f conftest } #fix_mac_groups() #{ #this is what the Mac OS X installer does... untested # sudo mkdir /var/spool/uucp # sudo chmod 775 /var/spool/uucp # sudo niutil -destroyval / /groups/uucp users `sudo id -p | grep 'login' | sed 's/login.//'` # sudo niutil -appendprop / /groups/uucp users `sudo id -p | grep 'login' | sed 's/login.//'` #} fix_comm_jar() { if [ test -f $1 ];then echo "------------------------------------------------------" 1>&2 echo "WARNING: A comm.jar file is already installed" 1>&2 echo "make sure your CLASSPATH points to RXTXcomm.jar!" 1>&2 echo 1>&2 echo $1 echo 1>&2 echo "------------------------------------------------------" 1>&2 fi; } [ case $OS_NAME in Mac\ OS\ X) JAVAINCLUDEDIR=$JPATH/../../../Headers ;; *) JAVAINCLUDEDIR=$JPATH/include ;; esac ] JAVAINCLUDE="-I\$(JAVAINCLUDEDIR)" if test "$CC" = "gcc" || test "$CC"="egcs"; then case $JAVA_VENDOR in Tran*) find_java_native_include jni.h JAVAH="\$(JPATH)/bin/kaffeh -classpath \$(CLASSPATH) -d \$(DEST) -jni" JAVAC="\$(JPATH)/bin/javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3" JAR="\$(JPATH)/bin/jar" JAVADOC="\$(JPATH)/bin/javadoc -classpath \$(CLASSPATH)" CFLAGS=$CFLAGS" -D_BSD_SOURCE" JAVAINCLUDE="" JAVAH_FIX="if test ! -d \$(target_triplet);then mkdir \$(target_triplet);fi;" JHOME=$JPATH"/share/kaffe/" RXTX_PATH=$JPATH"/lib/kaffe/" ;; *) find_java_native_include jni_md.h JAVAH="\$(JPATH)/bin/javah -classpath \$(CLASSPATH) -d \$(DEST) -jni" JAVAC="\$(JPATH)/bin/javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3" JAR="\$(JPATH)/bin/jar" JAVADOC="\$(JPATH)/bin/javadoc" CFLAGS=$CFLAGS" -D_BSD_SOURCE" ;; esac fi if [ test -d $JPATH/share/kaffe/ ] then fix_comm_jar $JPATH/share/kaffe/comm.jar elif [ test -d $JPATH/jre/lib/ext ] then fix_comm_jar $JPATH/jre/lib/ext/comm.jar elif [ test -d $JPATH/lib/ext ] then fix_comm_jar $JPATH/lib/ext/comm.jar elif [ test -d $JPATH/lib ] then fix_comm_jar $JPATH/lib/comm.jar fi # http://www.tolstoy.com/samizdat/sysprops.html [ case $OS_NAME in Linux) LDFLAGS=$LDFLAGS" -lpthread" check_kernel_headers check_java_headers CFLAGS=$CFLAGS" -D__need_timespec" case $JAVA_VERSION in 1.2*|1.3*|1.4*|1.5*) #fix_parameters $JPATH/jre/lib/javax.comm.properties CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1` JHOME=$JPATH"/jre/lib/ext" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" ;; 1.1*) CLASSPATH=".:\$(TOP):\$(TOP)/src:"` \ if [ -d $JPATH/share/kaffe/ ]; then find $JPATH/share/kaffe/ -name [cK]lasses.[jz][ai][rp] elif [ -d $JPATH/lib/ ]; then find $JPATH/lib/ -name [cK]lasses.[jz][ai][rp] fi`":"` if [ -d $JPATH/share/kaffe/ ]; then find $JPATH/share/kaffe/ -name RXTXcomm.jar elif [ -d $JPATH/lib/ ]; then find $JPATH/lib/ -name RXTXcomm.jar fi` if test x"$RXTX_PATH" = x;then # We are not using Kaffe #fix_parameters $JPATH/lib/javax.comm.properties check_prefix RXTX_PATH="\$(prefix)/lib/" 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;"; else # Kaffe CLASSPATH=$CLASSPATH:`find $JHOME -name RXTXcomm.jar` echo "Warning! Kaffe's comm.jar does not support rxtx" echo "See INSTALL for details" fi; if test x"$JHOME" = x;then JHOME=$JPATH/"lib" fi ;; esac # Cross Compilers #echo ---------------------------- #echo $target_os #echo ---------------------------- case $target_os in linux*) ;; beos*) TARGETLIB="\$(target_triplet)/librxtxSerial.la" EXTENSION="cpp" LDFLAGS=$LDFLAGS" -ldevice" #echo ---------------------------- #echo $target_os #echo ---------------------------- ;; freebsd*) ;; solaris*) TARGETLIB="\$(target_triplet)/librxtxSerial.la" #echo ---------------------------- #echo $target_os #echo ---------------------------- ;; esac ;; *BSD) LDFLAGS=$LDFLAGS" -lc_r" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" TARGETLIB="\$(target_triplet)/librxtxSerial.la \ \$(target_triplet)/librxtxParallel.la" case $JAVA_VERSION in 1.2*|1.3*|1.4*|1.5*) #fix_parameters $JPATH/jre/lib/javax.comm.properties CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1` RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"jre/lib/ext" ;; 1.1*) check_prefix #fix_parameters $JPATH/lib/javax.comm.properties CLASSPATH=".:\$(TOP):\$(TOP)/src:"` \ if [ -d $JPATH/share/kaffe/ ]; then find $JPATH/share/kaffe/ -name [cK]lasses.[jz][ai][rp] elif [ -d $JPATH/lib/ ]; then find $JPATH/lib/ -name [cK]lasses.[jz][ai][rp] fi`":"` if [ -d $JPATH/share/kaffe/ ]; then find $JPATH/share/kaffe/ -name RXTXcomm.jar elif [ -d $JPATH/lib/ ]; then find $JPATH/lib/ -name RXTXcomm.jar fi` if test x"$RXTX_PATH" = x;then # We are not using Kaffe #fix_parameters $JPATH/lib/javax.comm.properties check_prefix RXTX_PATH="\$(prefix)/lib/" 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;"; else # Kaffe CLASSPATH=$CLASSPATH:`find $JHOME -name RXTXcomm.jar` echo "Warning! Kaffe's comm.jar does not support rxtx" echo "See INSTALL for details" fi; RXTX_PATH="\$(prefix)/lib" JHOME=$JPATH/"lib" ;; *) ;; esac ;; Irix*) JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -I/usr/include" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" RXTX_PATH="\$(JPATH)/lib/\$(OS_ARCH)" TARGETLIB="\$(target_triplet)/librxtxSerial.la" ;; # since the os.name is different for UnixWare and OpenUNIX we could use it to # differentiate the lock files See SerialImp.h for comments on the lock files # in SCO. Currently that would be a build time fix though. # FIXME UnixWare|OpenUNIX) LDFLAGS=$LDFLAGS" -lpthread_this_may_be_wrong__trent" JHOME=$JPATH/"jre/lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1 -D__unixware__" CLASSPATH="-classpath .:\$(TOP):\$(TOP)/src:\$(JPATH)/jre/lib/rt.jar:\$(JPATH)/jre/lib/ext/comm.jar" TARGETLIB="\$(target_triplet)/librxtxSerial.so \ \$(target_triplet)/librxtxParallel.so" COMPILE="\$(CC) \$(INCLUDES) \$(CPPFLAGS) \$(CFLAGS) \$(VERBOSE_IOEXCEPTIONS) -c " LINK="\$(CC) \$(CFLAGS) \$(LDFLAGS)" echo "In UnixWare, CLASSPATH is $CLASSPATH" ;; HP-UX) LDFLAGS=$LDFLAGS" -lpthread_this_may_be_wrong__trent" CFLAGS=$CFLAGS" -g -Aa +e -D__hpux__ -D_HPUX_SOURCE -D_NO_POSIX=1 -D_NO_XOPEN4=1" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" TARGETLIB="\$(target_triplet)/librxtxSerial.la" case $JAVA_VERSION in HP-UX\ Java\ C.01.2*|HP-UX\ Java\ C.01.3*) #fix_parameters $JPATH/jre/lib/javax.comm.properties JHOME=$JPATH"/jre/lib/ext" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/jre/lib/ext/RXTXcomm.jar:$CLASSPATH" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" echo WARNING $JAVA_VERSION is untested please email this message to taj@www.linux.org.uk and let me know if it works. ;; HP-UX\ Java\ C.01.1*) #fix_parameters $JPATH/lib/javax.comm.properties JHOME=$JPATH/"lib" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" RXTX_PATH="\$(prefix)/lib/" ;; *) #fix_parameters $JPATH/lib/javax.comm.properties JHOME=$JPATH"/lib" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" RXTX_PATH="\$(prefix)/lib/" echo WARNING $JAVA_VERSION is untested please email this message to taj@www.linux.org.uk and let me know if it works. ;; esac case $OS_ARCH in PA-RISC) ;; *) ;; esac case $OS_VERSION in B.10.20) ;; *) ;; esac case $JAVA_VENDOR in Hewlett\ Packard\ Co\.) ;; *) ;; esac ;; BeOS) echo WARNING: BeOS support is in RXTX-1.5 JHOME=$JPATH"/share/kaffe" RXTX_PATH="\$(JPATH)/lib/" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/../src:\$(JPATH)/share/kaffe/Klasses.jar:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" TARGETLIB="\$(target_triplet)/librxtxSerial.la" EXTENSION="cpp" LDFLAGS=$LDFLAGS" -ldevice" # sigh, from ltconfig # beos*) # if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then # allow_undefined_flag=unsupported # # Joseph Beckenbach says some releases of gcc # # support --undefined. This deserves some investigation. FIXME 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;" ;; WIN32) case $JAVA_VERSION in 1.2*|1.3*|1.4*|1.5*) CLASSPATH=".:\$(TOP):\$(TOP)/src:`find $JPATH/ -name RXTXcomm.jar |head -n1`:$CLASSPATH" JHOME=$JPATH"/jre/lib/ext" ;; 1.1*) CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" RXTX_PATH="\$(prefix)/lib/" JHOME=$JPATH/"lib" ;; esac if test x$WIN32INCLUDE = x; then echo "We need to know what directory the windows java include files" echo "are located in. Please enter the directory now." echo echo "example /home/jarvi/win32java/include" echo read REPLY WINDOWS_JAVA_INCLUDE="-I$REPLY -I$REPLY/win32" else WINDOWS_JAVA_INCLUDE="-I$WIN32INCLUDE -I$WIN32INCLUDE/win32" fi TARGETLIB="\$(target_triplet)/rxtxSerial.dll \$(target_triplet)/rxtxParallel.dll" echo "$WINDOWS_JAVA_INCLUDE" ;; Mac\ OS\ X) #fix_mac_groups #fix_parameters $JPATH/lib/javax.comm.properties GLIBTOOL="\$(SHELL) glibtool" LINK="cc -bundle -framework CoreFoundation -framework IOKit -o librxtx\$*.jnilib " OBJECT_EXTENSION="o" LIB_EXTENSION="jnilib" TARGETLIB="\$(target_triplet)/librxtxSerial.jnilib" RXTX_PATH="/usr/lib/java" JHOME=$JPATH"/lib/ext" CFLAGS=$CFLAGS" -bundle" LDFLAGS=$LDFLAGS" -module -framework JavaVM -framework IOKit -framework CoreFoundation" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/ext/RXTXcomm.jar:$CLASSPATH" # email taj@www.linux.org.uk if you know a nicer fix. Needed anymore? # this fix was really old taj 6/05 # LIBTOOL_FIX="sed s/echo\ so/echo\ jnilib/g libtool > tmp; mv tmp libtool; chmod +x libtool;" ;; Solaris*) + LDFLAGS=$LDFLAGS" -lpthread" TARGETLIB="\$(target_triplet)/librxtxSerial.la \ \$(target_triplet)/librxtxParallel.la" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" case $JAVA_VERSION in 1.2*|1.3*|1.4*|1.5*) RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" ;; 1.1*) RXTX_PATH="\$(JPATH)/lib/" ;; esac ;; OS*2) # Place marker only TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; AIX) TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; Compaq\'s\ Digital\ Unix | OSF1 ) LDFLAGS=$LDFLAGS" -lpthread" TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; NetWare*) # Place marker only TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; MPE*) TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; #os.name reported "QNX" #java.vendor reported "IBM Corporation" #java.version reported "1.3.0 subset" # #Originally nothing was reported. javac is called j9c and java is called #j9 with the #j9 vm. I created symbolic links temporarily to get by that. Currently #I'm puking when #it tries to jar things up since j9 doesn't ship with a jar tool. #All right. Here is how things stand on porting 2.1 to QNX. (This is were #I stumble and fall) #I decided to try it without any mods initially. It made through #./configure fine except for #finding the java include dir. Since we are using j9, the include dir is #under bin. I set #JAVANATINC to point to it in Makefile and then ran make. J9 then puked #on the -O arg to javac, #so I removed it. Now it is puking on importing java.awt. What is the #best way to filter out/ #isolate the gui pieces since I won't be using them on qnx? QNX) TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; *) TARGETLIB="\$(target_triplet)/librxtxSerial.la" RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" JHOME=$JPATH/"lib" CFLAGS=$CFLAGS" -D_NO_POSIX=1 -D_NO_XOPEN4=1" CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" ;; esac ] AC_OUTPUT(Makefile) ################################ END ######################################## # Toys. Gota lovem. #echo $ECHO_N checking java.library.path " " #JAVA_LIBRARY_PATH=`java conftest "java.library.path"` #echo $JAVA_LIBRARY_PATH #echo $ECHO_N checking java.class.version " " #JAVA_CLASS_VERSION=`java conftest "java.class.version"` #echo $JAVA_CLASS_VERSION