-
Notifications
You must be signed in to change notification settings - Fork 547
Switch the mono device/simulator/cross compiler builds to the mono SDK makefile. #3640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This is now ready for review etc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me also setup a wrench lane, which will make this run our device tests as well.
builds/Makefile
Outdated
$(PREFIX)/bin: | ||
$(Q) mkdir -p $@ | ||
|
||
install-cross: install-llvm64 $(CROSS_TARGETS) | ||
# Dependency used to build the offsets tool before recursively calling sdk makefiles | ||
offsets-tool: $(MONO_PATH)/configure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this can just depend on $(MONO_PATH)/tools/offsets-tool/MonoAotOffsetsDumper.exe
instead:
offsets-tool: $(MONO_PATH)/tools/offsets-tool/MonoAotOffsetsDumper.exe
and then it will be built when needed.
builds/Makefile
Outdated
$(call Q_2,INSTALL ,[LLVM64]) install -c -m 0755 $(INSTALL_STRIP_FLAG) $^ $@ | ||
|
||
$(PREFIX)/LLVM/bin: | ||
$(Q) mkdir -p $@ | ||
|
||
install-llvm64: .stamp-build-llvm64 $(LLVM_TARGETS) | ||
install-llvm32: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks wrong, this target does nothing? If so, it can be removed.
builds/Makefile
Outdated
# config/eglib-config.h is needed by the builds in runtime/ | ||
.stamp-build-$(2): $(MONO_PATH)/configure $(MONO_DEPENDENCIES) $(BUILD_DESTDIR)/$(2) | ||
$(MAKE) -C $(SDK_BUILDDIR) package-ios-$(3) $(SDK_ARGS) | ||
cp -r $(SDK_DESTDIR)/ios-$(3)/lib $(BUILD_DESTDIR)/$(2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We like quiet builds 😄 i.e.:
$(Q) cp -r
$(Q) ...
Build failure |
Wrench builds will show up here: https://wrench.internalx.com/Wrench/index.aspx?lane=macios-mac-mono-sdk |
Marking as |
Build failure |
1 similar comment
Build failure |
@vargaz another issue found on device:
My guess is that you're setting the install name correctly somewhere. This is somewhat complicated: https://github.com/xamarin/xamarin-macios/blob/97ef51bf8b3a0d3b5e16f62f9cfd579821db48ed/builds/Makefile#L1332-L1353 |
Build failure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- sim tests looks good
- need device tests results
- need to check if this has impact in final app sizes (e.g. incorrect include of extra code in the runtime)
Build failure |
@vargaz there's still an issue with the install path of libmono-profiler-log.dylib on tvOS (iOS seems fine):
should be reproducible by running a test app on device with profiling enabled. |
Build failure |
@monojenkins build |
Build failure |
Build failure |
Build failure |
@monojenkins build |
Build failure |
The device tests look good now, there doesn't seem to be anything new compared to master. |
last build failed with
|
Working on updating them, need to wait for some changes to be merged to 2017-12. |
Build failure |
3 similar comments
Build failure |
Build failure |
Build failure |
…K makefile. * Build these by recursing into external/mono/sdks/builds and calling the targets there. * Add a few extra rules to build dependencies like llvm and mono's configure to avoid these being build in parallel by the SDK makefile. * Copy config.h/eglib-config.h into builds/install so the build in runtime/ doesn't have to add the builddirs to its includes.
…, so there is no need to run install_name_tool on them.
Build success |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No new failures were found in the latest CI device tests, so I think this can be merged now.
It looks like we're still missing app size comparisons. |
Will do that after the merge. |
There seems to be a size increase, will investigate. |
Built on wrench too: https://wrench.internalx.com/Wrench/index.aspx?lane=macios-mac-mono-sdk