Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Programmatically set cross GCC option
  • From: Clément Hurlin <clement.hurlin@xxxxxxxxxxxxx>
  • Date: Fri, 14 Jun 2019 18:05:00 +0200
  • Autocrypt: addr=clement.hurlin@xxxxxxxxxxxxx; keydata= mQENBE5g9TkBCAC6rGL88GPAgBbez3qC2JqD/lQKumfAk+U8tIbbDssc/PJvDHISP+TcxyTF r+yMrCQlI3iqJxWd6M5DQx/MigOE36ZoPzHvIsiDTrcw7koYkl5UoMNffmdQ1QfPSKEgatou tKZ73eCqptj8nXFyyhYT9phsmSVhcuzjMlMT/5iAYJlEyg8Ej/wB3kCj+yTkokljOtjY3+rm 2ooX+UcfG4nd1eWrd6KPF1BP5uPgQxfROTs7JmRCMABcwlQhftoFMiepro/oH1/0A/v91rKe vWUY9tRYypHpW573oL6X0U9FvwhSJ1m7qRYKwhDqSrHzNwCSe4lKYvRD4KM2CFb0+A/LABEB AAG0LkNsw6ltZW50IEh1cmxpbiA8Y2xlbWVudC5odXJsaW5AcHJvdmVucnVuLmNvbT6JATgE EwECACIFAk5g9TkCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJED+ctNSKreL1F8oH /iPCnvSLB4pr5XPfjQlkaRfOtkWxZJDMJeRdDTd3FvQMuFhBCUy/19mAPFh92h1dwnY9Kz6/ nIdD7NEBgZSbScVqvx2mEvnYeaFmtUKXuxMI85xqTtEYr+CFtQjEM+hjEp0dD68rSrei6mVS dXHKyecen/A4GCbq2EOeSLo/ba6LkLtVgen8XdsEUWQEsK9F0+sVE5R5M6YofsrzQ/ZJvj7W lAR/Iw5CzqhPet01l+x11uTAJvuzr80dHKLODbwvA7KRof8FJ/jV5Cqf0/P3Ne9IssjYzZEc YFxcTPwH+qBMZZUu4Q7UMeg/KGxoxl4PpSj5tQcndJ3hUOY6b7ryV0e5AQ0ETmD1OQEIAMiw CYnoyFOqyH+wJSENEyOrmSN//2+Bxc/p0BeSiKuU/hhhN+gOIxPFbqI+lM4pX08XVSOWCYU/ 8Zi02Jljmb7pw8CWAlAZ7kuyktHibQnS5p8c3qFmud5JSIRjCl9tHiuisHBUbln7VsV/5syd ReU3oKcKTY115FulteKwmd674EMhSzWTpkkwllXwm1gRhZL67GThKJLem7xboY1KIVLnBUd1 fLy3jyk9Pt9IXJBDHj1Ub3m52gts0SvbP2Hu/NR9V5ziSpC2d4IgzZc95qVsf8mIpqgiW0W1 rcKubYAsD0TdOBNA3vOmswAq5nA9OhZYHvEeaBd+2v6Rlbbk/hkAEQEAAYkBHwQYAQIACQUC TmD1OQIbDAAKCRA/nLTUiq3i9bcQB/9oCjAI+Nc6CK9YDW9GdnP1z6sgAcu9OTF80HY1Bg7Z RJHaz1GC2ob4DGCok3F+wOoZPdOtR5iHvaJ82KJsXbOc7y7SHNCyc3v5kPTYl7HUdb53y88h 3q7XTsfGX669xO2SMGNmFPStZ5rNUk8BQ3Ez07N6PdS7JiiMFFuBRoEguF8WcfUIV6VtVteG GAoy9TdU81DZoQtZdG6C9MLC7+Lg5KmimQ57IgNwrebo1TFI5s42UzjdMNFIldVyeCWouY3i V3ZTjk1IUSh1ADFO/RcbpSZfDUpN+rkYwku2QOIZoqAqy7NG52AYh/nI6iMTfk+VZ/JtZs1f RSBux0Dd9zcj
  • Delivered-to: cdt-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/cdt-dev>
  • List-help: <mailto:cdt-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/cdt-dev>, <mailto:cdt-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/cdt-dev>, <mailto:cdt-dev-request@eclipse.org?subject=unsubscribe>
  • Openpgp: preference=signencrypt
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

Dear CDT developers,

  At my company we intend to ship pre-configured instances of the CDT to
our clients; for use with a microkernel we develop. For that I'm writing
an headless Eclipse application that generates .project and .cproject
files programmatically. So far I found my way but I'm being stuck
setting the "Path" and "Prefix" variables of the cross toolchain, i.e.
these ones:

<option id="cdt.managedbuild.option.gnu.cross.prefix.1091436161"
name="prefix" superclass="cdt.managedbuild.option.gnu.cross.prefix"
value="arm-eabi-" valuetype="string"/>
<option id="cdt.managedbuild.option.gnu.cross.path.474383547"
name="path" superclass="cdt.managedbuild.option.gnu.cross.path"
value="/home/churlin/programmes/gcc-linaro-7.4.1-2019.02-i686_arm-eabi/bin/"
valuetype="string"/>

I've tried the following (like
org.eclipse.cdt.internal.build.crossgcc.SetCrossCommandOperation):

final IManagedBuildInfo buildInfo =
ManagedBuildManager.getBuildInfo(project);

IConfiguration[] configs =
buildInfo.getManagedProject().getConfigurations();

for (IConfiguration config : configs) {
  /* this.toolchain is the cdt.managedbuild.toolchain.gnu.cross.base
toolchain */
  IOption option =
toolchain.getOptionBySuperClassId("cdt.managedbuild.option.gnu.cross.prefix");
ManagedBuildManager.setOption(config, toolchain, option, "arm-eabi-");

  option =
toolchain.getOptionBySuperClassId("cdt.managedbuild.option.gnu.cross.path");
ManagedBuildManager.setOption(config, toolchain, option,
"/home/churlin/programmes/gcc-linaro-7.4.1-2019.02-i686_arm-eabi/bin");
}
	
ManagedBuildManager.saveBuildInfo(project, true)

But to no avail :-( Does someone has a hint as to what I'm doing wrong ?

My headless application is terminating with "Workspace was not properly
initialized or has already shutdown", which I wonder if it could be
related to some Job (writing the .cproject ?) is still running; but I'm
unsure.

Thanks for your help,
Clément


Back to the top