Skip to content
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

ios13_postfix#9: formal bitcode support #443

Merged
merged 11 commits into from
Jan 10, 2020

Conversation

dkimitsa
Copy link
Contributor

this PR enables bitcode support on formal level: it just adds "__LLVM,__asm" section for object files generated from java ones which makes binaries bitcode compatible (which is useful when robovm code is compiled as Framework target and included in Xcode project).

Changes:

  • native runtime libraries recompiled with embedded bitcode (this increased their size)
  • robovm compiler adjusted to emit "__LLVM,__asm" section
  • added logic to strip bitcode in case it is not required.

How to use

Bitcode support can be enabled:

  • in robovm.xml with <enableBitcode>true</enableBitcode>;
  • in robovm setion of build.gradle with enableBitcode = true;
  • in enableBitcode parameter to maven plugin;

…ho plugin is not able update parent's version during release
…ncies. otherview version:commit failed to pick up non existing dependencies (for future version)
- runtime compiled with emitBitcode (and now will take lot of space)
- robovm compiler modified to emit `__LLVM,__asm` seciton
- robovm.xml extended with enableBitcode parameter
- maven and gradle plugins extended with `robovm.enableBitcode` parameter
@dkimitsa
Copy link
Contributor Author

dkimitsa commented Dec 27, 2019

additional info about possible full bitcode support is in post (in short -- requires extra effort, gives almost no benefits and introduce problems with line numbers in stack traces)

@dkimitsa dkimitsa mentioned this pull request Dec 27, 2019
3 tasks
@Tom-Ski Tom-Ski merged commit 2364990 into MobiVM:jdk12 Jan 10, 2020
@dkimitsa dkimitsa deleted the cocoa13_postfix9_formal_bitcode_support branch January 11, 2020 14:34
@novacom34
Copy link

novacom34 commented Jan 27, 2020

Hi. Could you please make a release with bitcode support according this merge request.

@dkimitsa
Copy link
Contributor Author

Hi, it was released as 2.3.10 snapshot for testing

dkimitsa added a commit to dkimitsa/robovm that referenced this pull request Apr 9, 2020
* * jetbrains intellij plugin for gradle version updated

* * intellij maven pom reworked into stand-alone. as mvn:version is not able to update parent version number

* * added sonatype repo for snapshot dependencies

* * eclipse plugin's maven.pom switched into standalone (without) as tyho plugin is not able update parent's version during release

* * release script reworked to properly pick up new idea artifact and update it gradle version

* * Idea: release script updated to use property to specify the dependencies. otherview version:commit failed to pick up non existing dependencies (for future version)

* * fixed bunch of lint messages

* * implemented formal support for bitcode:
- runtime compiled with emitBitcode (and now will take lot of space)
- robovm compiler modified to emit `__LLVM,__asm` seciton
- robovm.xml extended with enableBitcode parameter
- maven and gradle plugins extended with `robovm.enableBitcode` parameter

* * fix to eclipse plugin due removed IOException from config builder
dkimitsa added a commit to dkimitsa/robovm that referenced this pull request Apr 9, 2020
* * jetbrains intellij plugin for gradle version updated

* * intellij maven pom reworked into stand-alone. as mvn:version is not able to update parent version number

* * added sonatype repo for snapshot dependencies

* * eclipse plugin's maven.pom switched into standalone (without) as tyho plugin is not able update parent's version during release

* * release script reworked to properly pick up new idea artifact and update it gradle version

* * Idea: release script updated to use property to specify the dependencies. otherview version:commit failed to pick up non existing dependencies (for future version)

* * fixed bunch of lint messages

* * implemented formal support for bitcode:
- runtime compiled with emitBitcode (and now will take lot of space)
- robovm compiler modified to emit `__LLVM,__asm` seciton
- robovm.xml extended with enableBitcode parameter
- maven and gradle plugins extended with `robovm.enableBitcode` parameter

* * fix to eclipse plugin due removed IOException from config builder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants