From: megacz Date: Fri, 30 Jan 2004 07:15:29 +0000 (+0000) Subject: 2003/09/10 11:43:47 X-Git-Tag: RC3~641 X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=commitdiff_plain;h=a31ea439cbb4e49894d8384c6c69e5fe8fae5619 2003/09/10 11:43:47 darcs-hash:20040130071529-2ba56-9d0f9ffdf3e240aa12983556b92acfd59e85a2ff.gz --- diff --git a/Makefile b/Makefile index 8a9f8f7..006be2e 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ JVM: build/JVM/xwt.jar Linux: ; make gcj platform=Linux target=i686-pc-linux-gnu link_flags="-lX11 -lXext --static" Solaris: ; make gcj platform=Solaris target=sparc-sun-solaris2.7 link_flags="-lX11 -lXext" Win32: ; make gcj platform=Win32 target=i686-pc-mingw32 link_flags="-Wl,--subsystem,windows -lcomdlg32" target_bin=xwt.exe -Darwin: ; make gcj platform=Darwin target=powerpc-apple-darwin link_flags="-lSystem -lmathCommon.A" +Darwin: ; make gcj platform=Darwin target=powerpc-apple-darwin link_flags="-lSystem -lmathCommon.A -Wl,-framework,Carbon,-framework,OpenGL,-framework,AGL,-framework,SystemConfiguration,-dylib_file,/usr/lib/libz.1.1.3.dylib:upstream/install/powerpc-apple-darwin/lib/libz.1.1.3.dylib,-dylib_file,/usr/lib/libcups.2.dylib:upstream/install/powerpc-apple-darwin/lib/libcups.2.dylib,-dylib_file,/usr/lib/libssl.0.9.dylib:upstream/install/powerpc-apple-darwin/lib/libssl.0.9.dylib,-dylib_file,/usr/lib/libcrypto.0.9.dylib:upstream/install/powerpc-apple-darwin/lib/libcrypto.0.9.dylib,-flat_namespace" ############################################################################# @@ -29,15 +29,17 @@ jar := $(shell ((type fastjar &>/dev/null) && echo fastjar) | include Makefile.upstream -# FIXME this should be done with -ljpeg -jpeg_c_sources := jdapimin.c jdapistd.c jcomapi.c jcparam.c jdmaster.c jdinput.c jdmainct.c jdcoefct.c jdpostct.c jdmarker.c -jpeg_c_sources += jdhuff.c jdphuff.c jddctmgr.c jidctint.c jidctfst.c jidctflt.c jidctred.c jdsample.c jdcolor.c jdmerge.c -jpeg_c_sources += jquant1.c jquant2.c jerror.c jutils.c jmemnobs.c jmemmgr.c -upstream/jpeg-6b/src/%.c: .download_jpeg-6b +# figure out what stuff in org.xwt.plat.* this platform requires (its superclasses) +superclass_org.xwt.plat.Platform:; echo org.xwt.plat.OpenGL +superclass_%: + @echo $* + @make -s superclass_org.xwt.plat.$(shell grep extends src/`echo $* | sed s_\\\\._/_g`.java | head -n 1 | sed s_.\*extends\ __ | sed s_\ .\*__) -java_sources := $(patsubst src/%.java, build/java/%.java, $(shell find src -name \*.java)) -java_sources += $(patsubst src/%.java.pp, build/java/%.java, $(shell find src -name \*.java.pp)) +plat_deps := $(shell test "$(platform)" = "" || make -s superclass_org.xwt.plat.$(platform) platform= ) +java_sources := $(patsubst org.xwt.plat.%, build/java/org/xwt/plat/%.java, $(plat_deps)) +java_sources += $(patsubst src/%.java.pp, build/java/%.java, $(shell find src -name \*.java.pp)) java_sources += build/java/org/xwt/Builtin.java +java_sources += $(patsubst src/%.java, build/java/%.java, $(shell find src -name '*.java' \! -path 'src/org/xwt/plat/*')) build/java/%.java: src/%.java ; @echo linking $@; mkdir -p $(@D); ln -s `echo $(@D) | sed 's_[^/]*\(/\|$$\)_../_g'`/$< $@ build/cc/%.cc: src/%.c ; @echo linking $@; mkdir -p $(@D); ln -s `echo $(@D) | sed 's_[^/]*\(/\|$$\)_../_g'`/$< $@ @@ -54,10 +56,10 @@ build/java/%.java: src/%.java.pp build/class/%.class: build/java/%.java .jikes @echo -e "\n\033[1mcompiling .java -> .class: $<\033[0m" mkdir -p build/class - @./.jikes $< +# @./.jikes $< compile: .compile -.compile: $(java_sources:build/java/%.c=build/class/%.class) +.compile: $(java_sources) @echo -e "\n\033[1mcompiling .java -> .class: src/**/*.java\033[0m" mkdir -p build/class @./.jikes $(java_sources) @@ -93,16 +95,15 @@ build/$(platform)/jpeg-6b/%.c.o: upstream/jpeg-6b/src/%.c $(gcc) -Ibuild/h -c $< -o $@ # PHASE 5: linking -build/$(target)/$(target_bin).ar: $(java_sources:build/java/%.java=build/$(platform)/%.java.o) build/$(platform)/org/xwt/plat/$(platform).cc.o $(jpeg_object_files) - @echo -e "\n\033[1marchiving .o -> $(target_bin).ar\033[0m" - rm -f build/$(target)/$(target_bin).ar - upstream/install/$(target)/bin/ar -cq build/$(target)/$(target_bin).ar $^ - upstream/install/$(target)/bin/ranlib build/$(target)/$(target_bin).ar +jpeg_sources := jdapimin.c jdapistd.c jcomapi.c jcparam.c jdmaster.c jdinput.c jdmainct.c jdcoefct.c jdpostct.c jdmarker.c +jpeg_sources += jdhuff.c jdphuff.c jddctmgr.c jidctint.c jidctfst.c jidctflt.c jidctred.c jdsample.c jdcolor.c jdmerge.c +jpeg_sources += jquant1.c jquant2.c jerror.c jutils.c jmemnobs.c jmemmgr.c -$(target_bin): build/$(target)/$(target_bin).ar +upstream/jpeg-6b/build-$(target)/libjpeg.a: .install_jpeg-6b_$(target) +$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a $(java_sources:build/java/%.java=build/$(platform)/%.java.o) build/$(platform)/org/xwt/plat/$(platform).cc.o @echo -e "\n\033[1mlinking .o -> $(target_bin)\033[0m" mkdir -p build/$(platform) - PATH=upstream/install/bin:$$PATH $(gcj) --main=org.xwt.Main -o build/$(platform)/$(target_bin) build/$(target)/$(target_bin).ar -Lupstream/install/$(target)/lib $(link_flags) + PATH=upstream/install/bin:$$PATH $(gcj) --main=org.xwt.Main -o build/$(platform)/$(target_bin) $^ $(jpeg_sources:%.c=upstream/jpeg-6b/build-$(target)/%.o) -Lupstream/install/$(target)/lib $(link_flags) ############################################################################## @@ -123,7 +124,7 @@ build/java/org/xwt/Builtin.java: $(shell ls src/org/xwt/builtin/*.png src/org/xw # compile is here to force compilation of the .class files (they get used via -Ibuild) without # having the individual .o's depend on the .java's (otherwise every .o gets recompiled when one .java changes) -gcj: .vendor .install_gcc-3.3_$(target) .compile $(target_bin) +gcj: .compile .vendor .install_gcc-3.3_$(target) $(target_bin) build/JVM/xwt.jar: .compile @echo -e "\n\033[1marchiving .class -> .jar: build/JVM/xwt.jar\033[0m" mkdir -p build/JVM diff --git a/Makefile.upstream b/Makefile.upstream index f291d5d..61b48dc 100644 --- a/Makefile.upstream +++ b/Makefile.upstream @@ -5,7 +5,6 @@ # deal with Apple's brokenness setcc := CC="$(patsubst Darwin,/usr/bin/gcc3 -no-cpp-precomp,$(findstring Darwin,$(shell uname)))" -setcc += PATH=`pwd`/upstream/install/bin:$$PATH # where to get stuff url_newlib-1.11.0 := ftp://sources.redhat.com/pub/newlib/newlib-1.11.0.tar.gz @@ -47,6 +46,7 @@ url_jikes-1.18 := http://www.megacz.com/tmp/jikes-1.18.tgz #ftp:// cd upstream/install/bin; ln -sf ../powerpc-apple-darwin/bin/ranlib powerpc-apple-darwin-ranlib cd upstream/install/bin; ln -sf ../powerpc-apple-darwin/bin/strip powerpc-apple-darwin-strip echo -e "#!/bin/sh\nc++filt \$$@\n" > upstream/install/bin/c++filt3; chmod +x upstream/install/bin/c++filt3 + cd upstream/install/powerpc-apple-darwin/bin; ln -s ../../bin/c++filt3 touch $@ # building gcc requires binutils @@ -67,6 +67,12 @@ configure_gcc-3.3-i686-pc-linux-gnu := --enable-threads=posix --enable-hash- configure_gcc-3.3-sparc-sun-solaris2.7 := --enable-threads=posix --disable-multilib configure_gcc-3.3-mips-unknown-elf := --enable-languages=c --nfp --enable-multilib --disable-threads +# libjpeg's configury doesn't obey --target +environment_jpeg-6b_$(target) := PATH=$(shell pwd)/upstream/install/$(target)/bin:$$PATH +environment_jpeg-6b_$(target) += CC=$(shell pwd)/upstream/install/$(target)/bin/gcc +environment_jpeg-6b_$(target) += AR="$(shell pwd)/upstream/install/$(target)/bin/ar rc" +environment_jpeg-6b_$(target) += AR2=$(shell pwd)/upstream/install/$(target)/bin/ranlib + .PRECIOUS: .vendor .download_% .configure_%_$(target) .install_%_$(target) # vendor-supplied binaries and headers; this is stuff that comes with various OSes @@ -92,7 +98,7 @@ vendor: .vendor; @true @echo -e "\n\033[1mconfiguring $*...\033[0m" mkdir -p upstream/$*/build-$(target) cd upstream/$*/build-$(target); \ - $(setcc) ../src/configure \ + $(setcc) $(environment_$*_$(target)) ../src/configure \ --target=$(target) \ --prefix=`cd ../..; pwd`/install \ $(configure_$*) \ @@ -106,9 +112,15 @@ vendor: .vendor; @true .install_%_$(target): .configure_%_$(target) @echo -e "\n\033[1mbuilding $*...\033[0m" - cd upstream/$*/build-$(target); $(setcc) PATH=$$PATH:`pwd`/../../install/bin make + cd upstream/$*/build-$(target); \ + $(setcc) PATH=$$PATH:`pwd`/../../install/bin \ + $(environment_$*_$(target)) \ + make -e @echo -e "\n\033[1minstalling $*...\033[0m" - cd upstream/$*/build-$(target); $(setcc) PATH=$$PATH:`pwd`/../../install/bin make install + cd upstream/$*/build-$(target); \ + $(setcc) PATH=$$PATH:`pwd`/../../install/bin \ + $(environment_$*_$(target)) \ + make -e install touch $@ # jikes has a special target to autodetect a pre-installed jikes, and to autodetect the JVM's $CLASSPATH diff --git a/src/org/xwt/plat/Darwin.cc b/src/org/xwt/plat/Darwin.cc index 76c4fd6..cb08664 100644 --- a/src/org/xwt/plat/Darwin.cc +++ b/src/org/xwt/plat/Darwin.cc @@ -1059,3 +1059,6 @@ void Darwin$GLCarbonSurface::natDispose() { } } } } // end namepsace org::xwt::plat + + + diff --git a/src/org/xwt/util/Log.java b/src/org/xwt/util/Log.java index 3a54c4d..2e6d09e 100644 --- a/src/org/xwt/util/Log.java +++ b/src/org/xwt/util/Log.java @@ -28,7 +28,6 @@ public class Log { /** message can be a String or a Throwable */ public static synchronized void log(Object o, Object message) { - if (firstMessage && !logDates) { firstMessage = false; System.err.println("===========================================================================");