📄 configure.in
字号:
dnl -*- Mode: shell-script;dnldnl Caching is usually WRONG for systems with cross-mounted file systemsdnl (the cache file may correspond to a different system). Since configurednl is not on a performance-critical path, go for robustness over speed.dnldefine([AC_CACHE_LOAD], )dnldefine([AC_CACHE_SAVE], )dnldnldnlAC_INIT() AC_ARG_ENABLE(echo, [--enable-echo - Turn on strong echoing. The default is enable=no.] , set -x)AC_ARG_ENABLE(softerror, [--enable-softerror - Turn on soft error, i.e. instead of issuing MSG_ERROR, MSG_WARN + exit 0 are used. The default is enable=no.],, enable_softerror=no) AC_ARG_ENABLE(g, [--enable-g - Turn on the debugging flags, -g, and uses jdb to run the GUI. The default is enable=no], , enable_g=no)AC_ARG_ENABLE(jdb, [--enable-jdb - Turn on the use of jdb to run the GUI. The default is enable=no],, enable_jdb=no) AC_ARG_ENABLE(checkversion, [--enable-checkversion - Turn on the Java version checking code. Disabling this option means user needs to set JAVA_LIBS and SWING_LIBS by hand. The default is enable=yes],, enable_checkversion=yes)AC_ARG_WITH(common-prefix,[--with-common-prefix=dir - Set the installation prefix for the Jumpshot-2 viewer. This allows a separate prefix for MPICH and for Jumpshot when they are installed together],,with_common_prefix=NONE)if test "$with_common_prefix" != "NONE" ; then prefix=$with_common_prefixfi echo "Configuring Jumpshot-2 with $ac_configure_args"## Find the home directory if not specifiedif test "X$srcdir" != "X." -a -s $srcdir/src/Makefile.in ; then top_srcdir_abs=$srcdirelse PAC_GETWD(top_srcdir_abs,src/Makefile.in)fi if test -z "$top_srcdir_abs" ; then top_srcdir_abs=`pwd`fiif test ! -d "$top_srcdir_abs" ; then PAC_MSG_ERROR($enable_softerror, [*** $top_srcdir_abs is not a valid directory - cannot continue])fiAC_SUBST(top_srcdir_abs) AC_ARG_WITH(java, [--with-java=JAVA_HOME - The path of the top-level directory of the Java installation. If this option or with-java1 is not given, configure will try to locate java for you. Also, with-java1 option overwrites the with-java option to set JAVA_HOME.], JAVA_HOME=$withval, JAVA_HOME="") AC_ARG_WITH(java1, [--with-java1=JAVA_HOME - The path of the top-level directory of the Java installation. If this option or with-java is not given, configure will try to locate java for you. Also, with-java1 option overwrites the with-java option to set JAVA_HOME.], JAVA_HOME=$withval, ) AC_ARG_WITH(jflags, [--with-jflags=JFLAGS - supply java compiler flags, e.g. optimization flags, -O, to the java compiler], JFLAGS="$withval")# Append "-g" to JFLAGS if enable_g=yesif test $enable_g = "yes" -o $enable_jdb = "yes" ; then if test -z "`echo $JFLAGS | grep "\-g"`" ; then JFLAGS="-g $JFLAGS" fifi# Fixup for makeMAKE=${MAKE:-make}PAC_MAKE_IS_GNUMAKEPAC_MAKE_IS_BSD44PAC_MAKE_IS_OSFPAC_MAKE_VPATHAC_SUBST(MAKE)# If we are relying on VPATH and no VPATH is set, then we must exitif test ! -s src/jumpshot.java -a -z "$VPATH" ; then AC_MSG_ERROR([No virtual MAKE path command found. You may need to set your make command. The GNU make (sometimes available as gnumake) can be used.])fi # Check if --without-java is specifiedif test "$JAVA_HOME" = "no" ; then PAC_MSG_ERROR($enable_softerror, [--without-java is specified, exit!])fi# FOUND_ENV_JAVA_HOME shows how JAVA_HOME is foundFOUND_ENV_JAVA_HOME=noif test -z "$JAVA_HOME" ; then# Locate Java from user's PATH PAC_PATH_JAVA(JAVA_HOME) if test -z "$JAVA_HOME" ; then# Locate Java in known location PAC_FIND_JAVA(JAVA_HOME) fi if test -z "$JAVA_HOME" ; then AC_MSG_WARN([Cannot locate JAVA in known locations and \$PATH !]) PAC_MSG_ERROR($enable_softerror, [Put JAVA in your path or supply it as an argument to configure]) else# Set FOUND_ENV_JAVA_HOME to indicate JAVA_HOME is found in PAC_XXX_JAVA FOUND_ENV_JAVA_HOME=yes fifi# Set the JAVA related tools, like javac and jar.JC="$JAVA_HOME/bin/javac"JAR="$JAVA_HOME/bin/jar"if test $enable_jdb = "yes" ; then JVM="$JAVA_HOME/bin/jdb"else JVM="$JAVA_HOME/bin/java"fiif test "$FOUND_ENV_JAVA_HOME" = "no" ; then AC_MSG_CHECKING([if $JC compiles]) if test -x "$JC" ; then PAC_JAVA_TRY_COMPILE( [$JC], , , [ public static void main( String args[] ) { System.out.println( "Hello world" ); } ], [ pac_java_working=yes ], [ pac_java_working=no ] ) if test "$pac_java_working" = "yes" ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) PAC_MSG_ERROR($enable_softerror, [$JC does not compile, check JAVA_HOME = $JAVA_HOME]) fi else AC_MSG_RESULT(no) PAC_MSG_ERROR($enable_softerror, [$JC does not exist, check JAVA_HOME = $JAVA_HOME]) fififor exe in "$JAR" "$JVM" ; do AC_MSG_CHECKING([if $exe exists]) if test -x "$exe" ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) PAC_MSG_ERROR($enable_softerror, [$exe does NOT exist, check JAVA_HOME = $JAVA_HOME]) fidoneAC_MSG_CHECKING([if $JC compiles Swing-1.1.1 code])PAC_JAVA_TRY_COMPILE( [$JC], ,[import javax.swing.*;], [public static void main( String args[] ){ JFrame frame = new JFrame(); System.out.println( "Checking Swing" );}], [ pac_java_working=yes ], [ pac_java_working=no ] )if test "$pac_java_working" = "yes" ; then AC_MSG_RESULT([yes, assume Java 2 SDK!]) enable_internalswing=no SWING_LIBS=""else AC_MSG_RESULT([no, assume Java 1 SDK!]) enable_internalswing=yes if test -f "$JAVA_HOME/lib/classes.zip" ; then JAVA_LIBS="$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/classes.zip:$JAVA_HOME/classes" else AC_MSG_WARN([$JAVA_HOME/lib/classes.zip does not exist]) PAC_MSG_ERROR($enable_softerror, [JAVA_LIBS cannot be set, neither can CLASSPATH !]) fifiif test "$enable_internalswing" = "yes" ; then AC_MSG_CHECKING([if $JC with swing.jar compiles Swing-1.0.3 code]) PAC_JAVA_TRY_COMPILE( [$JC], [-classpath $JAVA_LIBS:$srcdir/swing/swing.jar:. -d .],[import com.sun.java.swing.*;], [public static void main( String args[] ){ JFrame frame = new JFrame(); System.out.println( "Checking Swing" );} ], [ pac_java_working=yes ], [ pac_java_working=no ] ) if test "$pac_java_working" = "yes" ; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_MSG_WARN([$JC cannot compile with Jumpshot-2 !]) PAC_MSG_ERROR($enable_softerror, [Jumpshot-2 can be compiled with Java 1.1.5 or better but not Java 2.]) fifi# CHECK the version of Java used# Filter out the version of JDK that causes problemif test "$enable_checkversion" = "yes" ; then AC_MSG_CHECKING(for Java version) VERSION=`$JAVA_HOME/bin/java -fullversion 2>&1` case "$VERSION" in *1.0*) AC_MSG_RESULT([$VERSION, i.e. 1.0]) AC_MSG_WARN([Java $VERSION is too old to be used with Jumpshot-2 !]) PAC_MSG_ERROR($enable_softerror, [Jumpshot-2 is designed to be used with Java 1.1]) ;; *1.1.1*|*1.1.2*|*1.1.3*|*1.1.4*) AC_MSG_RESULT([$VERSION, i.e. older than 1.1.5]) AC_MSG_WARN([Java $VERSION is too old to be used with Jumpshot-2 !]) PAC_MSG_ERROR($enable_softerror, [Jumpshot-2 is designed to be used with Java 1.1.5 or better but not Java 2.]) ;; *1.1.5*|*1.1.6*|*1.1.7*|*1.1.8*) AC_MSG_RESULT([$VERSION, i.e. newer than 1.1.5]) ;; *1.2*|*1.3*|*1.4*|*1.5*) AC_MSG_RESULT([$VERSION, i.e. Java 2]) AC_MSG_WARN([$VERSION is incompatible with Jumpshot-2 !]) PAC_MSG_ERROR($enable_softerror, [Jumpshot-2 is designed to be used with Java 1.1, preferably 1.1.6 or better, and Swing 1.0.3.]) ;; *) AC_MSG_RESULT(unknown) AC_MSG_WARN([Jumpshot-2 is designed to be used with Java 1.1, preferably 1.1.6 or better, and Swing 1.0.3.]) AC_MSG_WARN([Any higher version of Java, like 1.2, is likely to cause problems]) if test "$enable_internalswing" = "no" ; then PAC_MSG_ERROR($enable_softerror, [Check if $JAVA_HOME is valid]) fi ;; esacfiCPRP=cpRM=rmMKDIR=mkdir# VPATH build: Set the swingbuild_dir if JAVA 1.1 is usedif test "$enable_internalswing" = "yes" ; then if test -z "$swingbuild_dir" ; then swingbuild_dir="`pwd`/swing" fi if test ! -d $swingbuild_dir ; then echo "creating $swingbuild_dir from source" $CPRP -pr $srcdir/swing $swingbuild_dir fi AC_SUBST(swingbuild_dir) if test -z "$SWING_LIBS"; then SWING_LIBS="$swingbuild_dir/swing.jar" fi SWING_LIBRARIES=`echo $SWING_LIBS | sed 's/:/ /g'` for library in $SWING_LIBRARIES ; do AC_MSG_CHECKING([for $library]) if test -f "$library" ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_WARN([$library in \$SWING_LIBS does NOT exist!]) PAC_MSG_ERROR($enable_softerror, [hence CLASSPATH cannot be set]) fi donefiAC_SUBST(JAVA_HOME)AC_SUBST(JAVA_LIBS)AC_SUBST(JFLAGS)AC_SUBST(JC)AC_SUBST(JAR)AC_SUBST(JVM)AC_SUBST(SWING_LIBS)## Naming the various build directories, don't inherit from environment#rootbuild_dir=`pwd`for dir in lib doc logfiles bin ; do dirname=${dir}build_dir eval dirvalue=\$"$dirname" eval $dirname=$rootbuild_dir/$dirdone# VPATH build: Set the libbuild_dirif test ! -d $libbuild_dir ; then echo "creating $libbuild_dir from source" $CPRP -pr $srcdir/lib $libbuild_dirfiAC_SUBST(libbuild_dir)# VPATH build: Set the docbuild_dirif test ! -d $docbuild_dir ; then echo "creating $docbuild_dir from source" $CPRP -pr $srcdir/doc $docbuild_dir $RM -rf $docbuild_dir/oldfiAC_SUBST(docbuild_dir)# VPATH build: Set the logfilesbuild_dirif test ! -d $logfilesbuild_dir ; then echo "creating $logfilesbuild_dir from source" $CPRP -pr $srcdir/logfiles $logfilesbuild_dirfiAC_SUBST(logfilesbuild_dir)# VPATH: Set the binbuild_dirif test ! -d $binbuild_dir ; then echo "creating directory $binbuild_dir" $MKDIR $binbuild_dirfiAC_SUBST(binbuild_dir)AC_OUTPUT(Makefile src/Makefile bin/jumpshot sbin/install-viewer)for script in "bin/jumpshot" "sbin/install-viewer"; do if test -f "$script" ; then chmod a+x $script else PAC_MSG_ERROR($enable_softerror, [$script is not a valid file - Make sure you have configured with a valid Jumpshot-2 source directory]) fidone
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -