hg: macosx-port/macosx-port/jdk: added jobjc to build

roger hoover rhoover at apple.com
Fri Apr 1 11:27:55 PDT 2011


Artem,

Sure, file a bug.  The existing jobjc build is driven by ant and xcode and does not properly understand the dependencies.

What needs to be done is:
1. Instead of referencing the bridge support files in their frameworks, the build needs to regenerate those files in the jdk7 build space with the gen_bridge_metadata command (this is a must have to get building to work under 10.7 lion).
2. Then, we need a makefile that relates changes in the bridge support data and only fires up the generator the generator has changed, or if the bridge support changes are later than the last built jobjc library or jar file.

I hope to make a stab at this next week.

roger

On Apr 1, 2011, at    6:53 AM, Artem Ananiev wrote:

> Hi, Roger,
> 
> I have just updated my workspace and performed a clean build. Then I did several incremental builds and found that JObjC is completely rebuilt every time. On my MacBook (not very fast laptop, but not ancient as well) it takes 2 minutes to generate and build all the wrapper classes. Given that the whole incremental build (hotspot, jdk, langtools, demos, etc.) takes 10 minutes, JObjC seems to be a good candidate for improvements.
> 
> Should I file a JIRA issue about this?
> 
> Thanks,
> 
> Artem
> 
> On 3/22/2011 11:50 PM, rhoover at apple.com wrote:
>> Changeset: 391ef7b33b9f
>> Author:    rhoover
>> Date:      2011-03-22 14:49 -0600
>> URL:       http://hg.openjdk.java.net/macosx-port/macosx-port/jdk/rev/391ef7b33b9f
>> 
>> added jobjc to build
>> 
>> ! make/common/Release.gmk
>> ! make/java/Makefile
>> + make/java/jobjc/Makefile
>> + src/macosx/native/jobjc/JObjC.xcodeproj/default.pbxuser
>> + src/macosx/native/jobjc/JObjC.xcodeproj/project.pbxproj
>> + src/macosx/native/jobjc/README.txt
>> + src/macosx/native/jobjc/TODOS
>> + src/macosx/native/jobjc/build.xml
>> + src/macosx/native/jobjc/extract_classes.pl
>> + src/macosx/native/jobjc/run-and-write-if-okay
>> + src/macosx/native/jobjc/rungen
>> + src/macosx/native/jobjc/runjava
>> + src/macosx/native/jobjc/src/core/PrimitiveCoder.hs
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CFType.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CIF.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/FFIType.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Function.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/ID.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Invoke.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/JObjCRuntime.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/MacOSXFramework.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NSClass.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeArgumentBuffer.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeBuffer.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeObjectLifecycleManager.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Opaque.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Pointer.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/PrimitiveCoder.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/SEL.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Struct.java
>> + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Subclassing.java
>> + src/macosx/native/jobjc/src/core/native/CIF.m
>> + src/macosx/native/jobjc/src/core/native/Coder.m
>> + src/macosx/native/jobjc/src/core/native/FFIType.m
>> + src/macosx/native/jobjc/src/core/native/Function.m
>> + src/macosx/native/jobjc/src/core/native/ID.m
>> + src/macosx/native/jobjc/src/core/native/Invoke.m
>> + src/macosx/native/jobjc/src/core/native/JObjCRuntime.m
>> + src/macosx/native/jobjc/src/core/native/MacOSXFramework.m
>> + src/macosx/native/jobjc/src/core/native/NSClass.m
>> + src/macosx/native/jobjc/src/core/native/NativeBuffer.h
>> + src/macosx/native/jobjc/src/core/native/NativeBuffer.m
>> + src/macosx/native/jobjc/src/core/native/NativeObjectLifecycleManager.m
>> + src/macosx/native/jobjc/src/core/native/SEL.m
>> + src/macosx/native/jobjc/src/core/native/Subclassing.m
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/BootClassPathMinus.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/ClassConsolidator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/ClassGenerator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FileCopier.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FrameworkGenerator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FunctionGenerator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/Generator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/MethodDisambiguator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/RestrictedKeywords.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/Utils.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/AbstractObjCClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CFTypeClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CategoryClassClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CategoryClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CopiedFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/FrameworkClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/GeneratedClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/JObjCClassClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/JObjCClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/MixedPrimitiveCoderClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/OpaqueClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/OutputFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/RootJObjCClass.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/StructClassFile.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Arg.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/CFType.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Category.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Clazz.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Constant.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Element.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/ElementWType.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Framework.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Function.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/FunctionAlias.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/InformalProtocol.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Method.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/NativeEnum.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Opaque.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/OutputFileGenerator.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Protocol.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/ReturnValue.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/StringConstant.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Struct.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/TypeElement.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/CoderDescriptor.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/ComplexCoderDescriptor.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/PrimitiveCoderDescriptor.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/JType.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/NType.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/Type.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/TypeCache.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/TypeToJType.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/Fp.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/JavaLang.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypeMerger.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypeParser.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypePrinter.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/ObjectInspector.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/QA.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StringStream.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StructOffsetResolver.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StructOffsetResolverBigBang.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/jobjc/SuperClassExtractor.java
>> + src/macosx/native/jobjc/src/generator/java/com/apple/jobjc/UnsafeRuntimeAccess.java
>> + src/macosx/native/jobjc/src/runtime-additions/java/com/apple/jobjc/Utils.java
>> + src/macosx/native/jobjc/src/runtime-additions/native/NativeNumber.m
>> + src/macosx/native/jobjc/src/runtime-additions/native/NativeString.m
>> + src/macosx/native/jobjc/src/runtime-additions/native/NativeThread.m
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BaseBench.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchFunCall.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchIDPop.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchStructCoding.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchUnsafe.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/CategoryTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/FunctionTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/GUIDemo.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/IBDemo.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/IntroTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NSClassTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NativeBufferTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NativeTypeTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/PooledTestCase.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/SELTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/StructTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/SubclassingTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/TestUtils.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/UtilsTest.java
>> + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/VarArgsTest.java
>> + src/macosx/native/jobjc/src/tests/native/FunCallBench.m
>> 



More information about the macosx-port-dev mailing list