Hello Peter,

Been a long time since we communicated on this issue. I wasn't able to
look into the Kaffe Custom Edition for some time. But this is what I have
been able to do in the last few days.

I read thru the whole structure of Kaffe.

This is what I have done.

kaffe-19990929 untarred in the following 

/root/kaffe-19990929
        |
        |--------+ build-gnu    
        |
        |
        |--------+ build-smx-vc++  
        |
        |
        |---------+ build-win32-vc++
        |
        |
        |---------+ build-wince-vc++ 
        |
        |
        |---------+ src  


Did the necessary modification to the Makefile in 

/root/kaffe-19990929/build-gnu/libraries/clib/awt

so that Kaffe uses the framebuffer instead of X11.(Please have a look at
the Makefile attachement). For this, I have installed the GRX2.3 graphics
library. The test progs of GRX works just fine and also the REGRESSION in
kaffe works fine. But when I run a simple AWT based application it give
the following ERROR. I have attached the AFrame.java file also.

[root@fobar awt]# kaffe AFrame
java.lang.ExceptionInInitializerError: [exception was
java.lang.ExceptionInInitializerError: [exception was
java.lang.ExceptionInInitializerError: [exception was
java.lang.ExceptionInInitializerError: [exception was
java.lang.UnsatisfiedLinkError: awt]]]]
        at AFrame.main(12)   

Could you point out as to where I have goofed up?

Awaiting reply...please reply asap as I will be going on my one month
vacation and need to produce some kind of result before that.

Wish you a Merry X'mas.

Rgds,

Ganesh.


On Fri, 19 Nov 1999, Peter C. Mehlitz wrote:

> Ganesh,
> 
> Please contact <[EMAIL PROTECTED]> to learn more about the Custom ed. With
> respect to the "standalone AWT" (the one which doesn't use a native windowing
> system), I can give you more technical infos.
> 
> This thing is a complete AWT (including some optional, customizable desktop
> functionality), which is based on a macro interface to a standard 2D
> graphics library (typically contains about 1500 loc), looking like this:
> 
> ...
> /*
>  * Draw line
>  *  gr       Graphics object used for drawing
>  *  x0,y0    start point
>  *  x1,y1    end point
>  */
> #define LINE_DRAW(_gr,_x0,_y0,_x1,_y1)  \
>   MGL_lineCoord( _x0,_y0,_x1,_y1)
> ...
> 
> My reference platform for initial development has been GRX (because it was
> avail for DOS, Linux svgalib and X), but there have been other ports, too
> (Allegro, for instance). I'm currently in the process of porting it to MGL.
> New ports typically take about 4 weeks, depending on the development platform
> and the target lib.
> 
> The whole AWT is a JNI lib, with nativ state caching for increased performance.
> 
> -- Peter
> 
> -- 
>   Peter C. Mehlitz                          Tel:      +1 510 704 1527
>   Transvirtual Technologies, Inc.,          Fax:      +1 510 704 1893
>   Berkeley, CA, USA.                        Email:    [EMAIL PROTECTED]
> 


# Generated automatically from Makefile.in by configure.
# generic AWT support for standard Java libraries
# Changed on 18/12/1999. Originaly used for X but modified for GRX library
# Copyright (c) 1998
#       Transvirtual Technologies, Inc.  All rights reserved.
#
# See the file "lib-license.terms" for information on usage and redistribution 
# of this file. 

VPATH=  
./../../../../src/libraries/clib/awt:./../../../../src/libraries/clib/awt/no-native-wm/grx

srcdir=         ./../../../../src/libraries/clib/awt/
awtsubdir=      no-native-wm/grx
prefix=         /usr/local
exec_prefix=    ${prefix}
nativedir=      ${prefix}/share/kaffe/lib/i386-linux
CC=             gcc
LD=             ld
AR=             ar cr
RANLIB=         ranlib
INCLUDES=       -I$(srcdir) -I../../../include -I$(srcdir)/../../../include 
-I../../../config -I$(srcdir)/../../../config -I$(srcdir)/$(awtsubdir) 
-I/usr/src/grx-2.3/include
INCPATH=         -I/root/kaffe-19990929/build-gnu/./../src/kaffe/kaffevm 
-I/root/kaffe-19990929/build-gnu/./../src/kaffe/kaffevm/systems/unix-jthreads
LIBPATH=        
CFLAGS=         -g -O2
WALL=           -Wall
ALL_CFLAGS=     $(CFLAGS) $(WALL) $(INCLUDES) $(INCPATH) $(EXTRA_CFLAGS)
INSTALL=        /usr/bin/install -c
INSTALL_DATA=   ${INSTALL} -m 644
MKDIR=          mkdir -p
LN=             ln -s
TOUCH=          touch
DLLTOOL=        true
PIC=            -fpic
LDFLAGS=        -shared
LIBS=           -lvga -lpng -ljpeg -lXext -lX11 -lz -ldl -lm -lc -lpthread  
-L/usr/src/grx-2.3/lib/unix -lgrx20
LDTAIL=          -L/usr/src/grx-2.3/lib/unix -lgrx20 -ljpeg -lpng -lz 
KVER=           1.00
OBJEXT=         .o
LIBEXT=         .so

LIBNAME=        libawt
LIB=            $(LIBNAME)$(LIBEXT)
LIBV=           $(LIBNAME)$(LIBEXT).$(KVER)

WRAPPER_CMD=    "s%^\(Java_[^(]*\).*$$%KAFFE_NATIVE(\1)%p"

OBJECT=

all:            $(LIB)

# GRX based AWT support for standard Java libraries
#
# Copyright (c) 1998
#       Transvirtual Technologies, Inc.  All rights reserved.
#
# See the file "lib-license.terms" for information on usage and redistribution 
# of this file. 

TDIR=no-native-wm/grx
CDIR=no-native-wm

# files containing exported (native) methods
EXPORTS=$(srcdir)/$(CDIR)/*.c $(srcdir)/$(TDIR)/*.c

OBJECT+=\
                $(TDIR)/tlk$(OBJEXT) \
                $(TDIR)/wnd$(OBJEXT) \
                $(TDIR)/evt$(OBJEXT) \
                $(TDIR)/gra$(OBJEXT) \
                $(TDIR)/fnt$(OBJEXT) \
                $(TDIR)/clr$(OBJEXT) \
                $(TDIR)/img$(OBJEXT) \
                $(CDIR)/imgjpeg$(OBJEXT) \
                $(CDIR)/imgpng$(OBJEXT)  \
                $(CDIR)/cbd$(OBJEXT) \
                $(CDIR)/geometry$(OBJEXT)


HDRS=$(TDIR)/toolkit.h \
     $(CDIR)/toolkit-common-pre.h \
     $(CDIR)/toolkit-common-post.h \
     $(TDIR)/grlib.def

$(TDIR)/tlk$(OBJEXT): $(TDIR)/tlk.c $(HDRS)

$(TDIR)/wnd$(OBJEXT): $(TDIR)/wnd.c $(CDIR)/wnd-common.c $(HDRS)

$(TDIR)/evt$(OBJEXT): $(TDIR)/evt.c $(CDIR)/evt-common.c $(HDRS)

$(TDIR)/gra$(OBJEXT): $(TDIR)/gra.c $(CDIR)/gra-common.c $(HDRS)

$(TDIR)/fnt$(OBJEXT): $(TDIR)/fnt.c $(HDRS)

$(TDIR)/clr$(OBJEXT): $(TDIR)/clr.c $(CDIR)/clr-common.c $(HDRS)

$(TDIR)/img$(OBJEXT): $(TDIR)/img.c $(CDIR)/img-common.c $(HDRS)

$(TDIR)/imggif$(OBJEXT): $(TDIR)/imggif.c $(HDRS)

$(TDIR)/imgjpeg$(OBJEXT): $(TDIR)/imgjpeg.c $(HDRS)

$(TDIR)/imgpng$(OBJEXT): $(TDIR)/imgpng.c $(HDRS)

$(TDIR)/cbd$(OBJEXT): $(TDIR)/cbd.c $(HDRS)

$(TDIR)/geometry$(OBJEXT): $(TDIR)/geometry.c $(HDRS)


$(LIB):         .dir-stamp $(OBJECT) lib.exp external_wrappers.h
                $(LD) $(LDFLAGS) -o $(LIB) $(OBJECT) $(LIBPATH) $(LDTAIL)

.dir-stamp:
                test -d $(awtsubdir) || $(MKDIR) $(awtsubdir)
                $(TOUCH) .dir-stamp

.c$(OBJEXT):
                $(CC) $(ALL_CFLAGS) -c $(PIC) $< -o $*.o

external_wrappers.h:    $(OBJECT)
                sed -n $(WRAPPER_CMD) $(EXPORTS) > external_wrappers.h

clean:
                rm -f $(LIB) $(OBJECT) lib.exp external_wrappers.h

distclean:      clean
                rm -f Makefile .dir-stamp
                -rmdir $(awtsubdir) no-native-wm

install:
                test -d $(nativedir) || $(MKDIR) $(nativedir)
                rm -f $(nativedir)/$(LIB) $(nativedir)/$(LIBV)
                $(INSTALL_DATA) $(LIB) $(nativedir)/$(LIBV)
                $(LN) $(LIBV) $(nativedir)/$(LIB)

lib.exp:
                $(DLLTOOL) --def $(srcdir)/$(LIBNAME).def --output-exp lib.exp 
--output-lib $(LIBNAME).a --dllname $(LIB)
                touch lib.exp













import java.awt.*;

import java.lang.*;



public class AFrame {







        public static void main(String[] args) {



                Frame af = new Frame("MyFrame");



                af.setSize(new Dimension(400,400));

                

                

                af.show();

System.out.println("hello..");

        }









}

Reply via email to