[e-lang] Problems building E 0.8.35f

Mark S. Miller markm at cs.jhu.edu
Thu Sep 8 14:15:56 EDT 2005


Steve Jenson wrote:
> Hi guys,
> 
> Have any of you build E 0.8.35f with Java 5 on Win32? Using cygwin, I
> get the following error:
> 
> javac: target release 1.2 conflicts with default source release 1.5
> 
> I clearly see see javac getting called with -target 1.2 in the make
> output but don't find this anywhere in the Makefile.


Hi Steve, sorry it took me so long to get to this.

The -target directive is in src/build/makerules.mk. You should be able to
build while suppressing the target directive by setting the environment
variable JTARGET to "none". In bash, this would be

    $ JTARGET=none make ...

The problem seems to be that I'm setting the -target version without setting
the -source version. I've changed the relevant block of code in makerules.mk to

----------------------------------
ifeq "$(JAVAC)" "gcj"
 JCOMPILE="$(JAVAC)" -C -fno-assert -g \
	-classpath "$(COMP_PATH)" -d $(TOP)/classes
 TOOLCOMPILE="$(JAVAC)" -C -fno-assert -g \
	-classpath "$(TOOL_PATH)" -d $(TOP)/classes
else
 ifeq "$(JTARGET)" "none"
  JCOMPILE="$(JAVAC)" -g \
	-classpath "$(COMP_PATH)" -d $(TOP)/classes
  TOOLCOMPILE="$(JAVAC)" -g \
	-classpath "$(TOOL_PATH)" -d $(TOP)/classes
 else
  ifndef JTARGET
   JTARGET=1.2
  endif
  JCOMPILE="$(JAVAC)" -source $(JTARGET) -target $(JTARGET) -g \
	-classpath "$(COMP_PATH)" -d $(TOP)/classes
  TOOLCOMPILE="$(JAVAC)" -source $(JTARGET) -target $(JTARGET) -g \
	-classpath "$(TOOL_PATH)" -d $(TOP)/classes
 endif
endif
--------------------------------

I'm testing this change now. If you'd like to try it and let me know if it
works for you, I'd appreciate it. Thanks.

-- 
Text by me above is hereby placed in the public domain

    Cheers,
    --MarkM



More information about the e-lang mailing list