For Linux and Solaris I could see such a thing, even with all the
different Linux variations. But Windows... :^(
You could restrict it to Windows&CYGWIN and starting from a cygwin shell,
but I suspect that would not be satisfying all the Windows users.
There are Windows&MKS and possibly Windows&OtherUnixToolSet, and
would you need a configure.bat ??? :^(

The fact that the JDK Makefiles want a fullpath to each tool makes life 
difficult,
see 
http://hg.openjdk.java.net/jdk7/build/jdk/file/tip/make/common/shared/Defs-utils.gmk
I understand why this was done, and maybe this also was part of the
sanity issue around tools (the path to the specific tool being exact
provided a minor sanity check?).
Maybe the configure script creates this file for the Makefile system?

In the long run I do think we need a configure step, just not sure
when it could be done, or how far you want to take it.

-kto

Keith McGuigan wrote:

How about a 'configure' step, which can perform a lot of the system-specific probing. Not sure we need to jump all the way into automake or autoconf (but if we did, there's a lot of existing code out there we could use). But a 'configure; make; make install' sequence is a very familiar concept.

--
- Keith

Kelly O'Hair wrote:


Roman Kennke wrote:
Hi there,

I've just setup a box with the soon-to-be-released Ubuntu 8.04, and see
a number of problems:

Minor: make sanity does not check for gawk and c++, although the build
requires them. Maybe there are some more of these, but this is what I
found.


We never have done sanity checks on all the unix command tools.
The sanity checks on the compilers usually involved finding the version
number and verifying it, but even then it might only result in a warning.
Over the past few years, most of the fatal sanity checks have been
relaxed to warnings to allow for maximum flexibility. Most compilers
and tools between Solaris, Windows, Linux, etc. are rather inconsistent
when it comes to getting their version string.
But I suppose we could always check for at least their existence.

Verifying the Linux package list is very difficult to maintain for all the
variations of Linux.

I'm open to solutions here.

-kto

Major:
Compilation of the NIO classes fails, it looks like the generation of a
couple of source files does not work correctly. Probably this is also a
problem with missing tools, but I can't figure out what it could be.
Telling from the genCoder.sh script, this would be sed and awk, but both
are installed. See javac error below. Any ideas on this one?

Cheers, Roman

# Running javac:
/usr/lib/jvm/java-6-openjdk/bin/java -Xmx896m -Xms128m -XX:PermSize=32m
-XX:MaxPermSize=160m
-Xbootclasspath/p:/home/roman/src/OpenJDK/openjdk/build/linux-amd64/langtools/dist/bootstrap/lib/javac.jar -jar /home/roman/src/OpenJDK/openjdk/build/linux-amd64/langtools/dist/bootstrap/lib/javac.jar -source 1.5 -target 5 -encoding ascii -Xbootclasspath:/home/roman/src/OpenJDK/openjdk/build/linux-amd64/classes -sourcepath /home/roman/src/OpenJDK/openjdk/build/linux-amd64/gensrc:../../../src/solaris/classes:../../../src/share/classes -d /home/roman/src/OpenJDK/openjdk/build/linux-amd64/classes @/home/roman/src/OpenJDK/openjdk/build/linux-amd64/tmp/java/java.lang/java/.classes.list /home/roman/src/OpenJDK/openjdk/build/linux-amd64/gensrc/java/nio/charset/CharsetEncoder.java:142: cannot find symbol
symbol  : class $replType$
location: class java.nio.charset.CharsetEncoder
    private $replType$ replacement;
            ^
/home/roman/src/OpenJDK/openjdk/build/linux-amd64/gensrc/java/nio/charset/CharsetEncoder.java:185: cannot find symbol
symbol  : class $replType$
location: class java.nio.charset.CharsetEncoder
                   $replType$ replacement)
                   ^
/home/roman/src/OpenJDK/openjdk/build/linux-amd64/gensrc/java/nio/charset/CharsetEncoder.java:246: cannot find symbol
symbol  : class $replType$
location: class java.nio.charset.CharsetEncoder
    public final $replType$ replacement() {
                 ^
/home/roman/src/OpenJDK/openjdk/build/linux-amd64/gensrc/java/nio/charset/CharsetEncoder.java:275: cannot find symbol
symbol  : class $replType$
location: class java.nio.charset.CharsetEncoder
    public final CharsetEncoder replaceWith($replType$ newReplacement) {
                                            ^
/home/roman/src/OpenJDK/openjdk/build/linux-amd64/gensrc/java/nio/charset/CharsetEncoder.java:301: cannot find symbol
symbol  : class $replType$
location: class java.nio.charset.CharsetEncoder
    protected void implReplaceWith($replType$ newReplacement) {
                                   ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
5 errors
make[3]: *** [.compile.classlist] Error 1
make[3]: Leaving directory
`/home/roman/src/OpenJDK/openjdk/jdk/make/java/java'
make[2]: *** [all] Error 1
make[2]: Leaving directory
`/home/roman/src/OpenJDK/openjdk/jdk/make/java'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/roman/src/OpenJDK/openjdk/jdk/make'



Reply via email to