View | Details | Raw Unified | Return to issue 21972
Collapse All | Expand All

(-)configure.in (-52 / +65 lines)
Lines 1178-1243 Link Here
1178
dnl ===================================================================
1178
dnl ===================================================================
1179
dnl Checks for JDK.
1179
dnl Checks for JDK.
1180
dnl ===================================================================
1180
dnl ===================================================================
1181
JAVA_HOME=; export JAVA_HOME
1181
if test "$enable_java" != "no"; then
1182
if test -z "$with_jdk_home"; then
1182
   JAVA_HOME=; export JAVA_HOME
1183
   AC_PATH_PROG(JAVAC, javac)
1183
   if test -z "$with_jdk_home"; then
1184
   AC_PATH_PROG(JAVA, java)
1184
      AC_PATH_PROG(JAVAC, javac)
1185
else
1185
      AC_PATH_PROG(JAVA, java)
1186
   _javac_path="$with_jdk_home/bin/javac"
1186
   else
1187
   dnl Check if there is a java compiler at all.
1187
      _javac_path="$with_jdk_home/bin/javac"
1188
   if test -x "$_javac_path"; then
1188
      dnl Check if there is a java compiler at all.
1189
      JAVAC=$_javac_path
1189
      if test -x "$_javac_path"; then
1190
	else
1190
         JAVAC=$_javac_path
1191
		AC_MSG_ERROR([$_javac_path not found set with_jdk_home])
1191
   	else
1192
   		AC_MSG_ERROR([$_javac_path not found set with_jdk_home])
1193
      fi
1194
      
1195
      _java_path="$with_jdk_home/bin/java"
1196
      dnl Check if there is a java interpreter at all.
1197
      if test -x "$_java_path"; then
1198
         JAVA=$_java_path
1199
   	else
1200
   		AC_MSG_ERROR([$_java_path not found set with_jdk_home])
1201
      fi
1192
   fi
1202
   fi
1203
   AC_MSG_CHECKING([the installed JDK])
1204
   if test "$JAVA"; then
1193
   
1205
   
1194
   _java_path="$with_jdk_home/bin/java"
1206
      dnl java -version sends output to stderr!
1195
   dnl Check if there is a java interpreter at all.
1207
      if test `$JAVA -version 2>&1 | grep -c "Kaffe"` -gt 0; then
1196
   if test -x "$_java_path"; then
1208
        
1197
      JAVA=$_java_path
1209
        dnl Kaffe specific tests
1198
	else
1210
        KAFFE_VER=`$JAVA -version 2>&1 | $EGREP "  Version:" | $SED -r "s/.*  Version: ([[0-9\.]]*).*/\1/"`
1199
		AC_MSG_ERROR([$_java_path not found set with_jdk_home])
1211
        if test -z "$KAFFE_VER"; then
1200
   fi
1212
          AC_MSG_ERROR([looks like Kaffe but version detection failed])
1201
fi
1213
        fi
1202
AC_MSG_CHECKING([the installed JDK])
1214
        _kaffe_ver=`echo "$KAFFE_VER" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
1203
if test "$JAVA"; then
1215
        if test "$_kaffe_ver" -lt 10100; then
1204
1216
           AC_MSG_ERROR([Kaffe is too old ($KAFFE_VER - $_kaffe_ver), you need at least 1.1.0])
1205
   dnl java -version sends output to stderr!
1217
        fi
1206
   if test `$JAVA -version 2>&1 | grep -c "Kaffe"` -gt 0; then
1218
        JDK=kaffe
1207
     
1219
        
1208
     dnl Kaffe specific tests
1220
        dnl TODO: define some project exclusion variables
1209
     KAFFE_VER=`$JAVA -version 2>&1 | $EGREP "  Version:" | $SED -r "s/.*  Version: ([[0-9\.]]*).*/\1/"`
1221
        
1210
     if test -z "$KAFFE_VER"; then
1222
        AC_MSG_RESULT([checked (Kaffe $KAFFE_VER)])
1211
       AC_MSG_ERROR([looks like Kaffe but version detection failed])
1223
        AC_MSG_WARN([EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile])
1212
     fi
1224
        echo "EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile" >>warn
1213
     _kaffe_ver=`echo "$KAFFE_VER" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
1225
      else
1214
     if test "$_kaffe_ver" -lt 10100; then
1226
        
1215
        AC_MSG_ERROR([Kaffe is too old ($KAFFE_VER - $_kaffe_ver), you need at least 1.1.0])
1227
        dnl SUN JDK specific tests
1216
     fi
1228
        _jdk=`$JAVAC -J-version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
1217
     JDK=kaffe
1229
        _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
1218
     
1230
   
1219
     dnl TODO: define some project exclusion variables
1231
        if test "$_jdk_ver" -lt 10300; then
1220
     
1232
             AC_MSG_ERROR([JDK is too old, you need at least 1.3])
1221
     AC_MSG_RESULT([checked (Kaffe $KAFFE_VER)])
1233
        fi
1222
     AC_MSG_WARN([EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile])
1234
        AC_MSG_RESULT([checked (JDK $_jdk)])
1223
     echo "EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile" >>warn
1235
      fi
1236
      JAVA_HOME=`echo $JAVAC | $SED -n "s,//*bin//*javac,,p"`
1224
   else
1237
   else
1225
     
1238
      AC_MSG_ERROR([JAVA not found. You need at least jdk-1.3])
1226
     dnl SUN JDK specific tests
1227
     _jdk=`$JAVAC -J-version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
1228
     _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
1229
1230
     if test "$_jdk_ver" -lt 10300; then
1231
          AC_MSG_ERROR([JDK is too old, you need at least 1.3])
1232
     fi
1233
     AC_MSG_RESULT([checked (JDK $_jdk)])
1234
   fi
1239
   fi
1235
   JAVA_HOME=`echo $JAVAC | $SED -n "s,//*bin//*javac,,p"`
1240
   dnl xsltproc not needed with JDK present.
1241
   XSLTPROC=NO_XSLTPROC
1236
else
1242
else
1237
   AC_MSG_ERROR([JAVA not found. You need at least jdk-1.3])
1243
   dnl Java disabled
1244
   JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME
1245
   dnl Check for xsltproc
1246
   AC_PATH_PROG(XSLTPROC, xsltproc, no)
1247
   if test "$XSLTPROC" = "no"; then
1248
      AC_MSG_ERROR([xsltproc is required when building with --disable-java.])
1249
   fi
1238
fi
1250
fi
1239
AC_SUBST(JAVA_HOME)
1251
AC_SUBST(JAVA_HOME)
1240
AC_SUBST(JDK)
1252
AC_SUBST(JDK)
1253
AC_SUBST(XSLTPROC)
1241
1254
1242
dnl ===================================================================
1255
dnl ===================================================================
1243
dnl Checks for specific files.
1256
dnl Checks for specific files.
(-)set_soenv.in (+1 lines)
Lines 1359-1364 Link Here
1359
if ( '@JDK@' ne '' )
1359
if ( '@JDK@' ne '' )
1360
{ ToFile( "JDK",             "@JDK@",            "e" );
1360
{ ToFile( "JDK",             "@JDK@",            "e" );
1361
}
1361
}
1362
ToFile( "XSLTPROC",          "@XSLTPROC@",       "e" );
1362
ToFile( "ANT_HOME",          "@ANT_HOME@",       "e" );
1363
ToFile( "ANT_HOME",          "@ANT_HOME@",       "e" );
1363
ToFile( "JDKLIB",            $JAVA_LIB,          "e" );
1364
ToFile( "JDKLIB",            $JAVA_LIB,          "e" );
1364
ToFile( "STLPORT4",          $STLPORT4,          "e" );
1365
ToFile( "STLPORT4",          $STLPORT4,          "e" );

Return to issue 21972