Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » C / C++ IDE (CDT) » eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue
eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721128] Mon, 25 January 2016 04:34 Go to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Yes, the version is considered old but it is the newest supported on my system so there is no upgrade path so please don't post nonsense about upgrading or changing hardware, neither option is an acceptable solution.

I need to modify the CROSSGCC plugin to add functionality that is required beucase there are no working Cross ARM plugins that I found that worked and I've spent more than a couple months trying to get one working.

I have googled it to death, tried to follow all those eclipse.org broken links and it seems that the source along with prior versions has vanished off the face of the earth and before you get the bright idea of directing me to the archived downloads link, please don't waste my time, those are the bulk of the broken links.

Can't use CVS to retrieve it because 1, the CVS information isn't in any of the files and neither is the fetch or build scripts.

I need to obtain the build-able source so I can modify the CROSSGCC C/C++ plugin and add the missing features needed to make a suitable Cross ARM C/C++ plugin so a direct link to the build-able source would be appreciated.

Alternately if the build able CROSSGCC C/C++ plugin source is available a direct link would be appreciated.

The only other possible solution is that someone builds a macosx carbon of a newer version of eclipse and this isn't likely to happen so I'm not holding my breathe.

I'm at a point that downloading the files using curl would make my life less stressful as I'm sick of all these broken and dead links but I'll accept any verified link that gets me the files I need.

-- Dale
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721181 is a reply to message #1721128] Mon, 25 January 2016 14:35 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Hi Dale,

I am sorry to hear you are stuck with Carbon on MacOSX. I don't know much about Mac dev so not sure I could even recommend upgrading your hardware if I wanted to.

Also, sorry you are finding dead links on the community wikis (I assume), I am sure any wiki updates that you performed as you found dead links on our open source project would be most appreciated!

In the meantime I think what you are looking for source wise is https://git.eclipse.org/c/cdt/org.eclipse.cdt.git/tree/cross/org.eclipse.cdt.build.crossgcc that has all the history moved to CVS going back to 2009 when it was first added (see https://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/cross/org.eclipse.cdt.build.crossgcc?id=1042ed5f25a54495dd18079515e8b07b4c4d1bf2)

Jonah
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721183 is a reply to message #1721181] Mon, 25 January 2016 14:42 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Do you need 4.x version of Eclipse? Since you need carbon, you may find Eclipse 3.7.x more useful that 4.0? It is a couple of years newer http://archive.eclipse.org/eclipse/downloads/ and the last version that did support carbon.

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721192 is a reply to message #1721183] Mon, 25 January 2016 15:16 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
Building a somewhat recent CDT for Eclipse 3.x might not be *too* hard, I'd have to check. What's your limitation? 32-bit only? Powerpc? Can you run Eclipse 3.8 Cocoa 32-bit? (http://archive.eclipse.org/eclipse/downloads/drops/R-3.8.2-201301310800/) There might also the fact that Java 7 and up only exist for Intel 64 bit.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721359 is a reply to message #1721181] Tue, 26 January 2016 19:54 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Jonah Graham wrote on Mon, 25 January 2016 14:35
Hi Dale,

I am sorry to hear you are stuck with Carbon on MacOSX. I don't know much about Mac dev so not sure I could even recommend upgrading your hardware if I wanted to.

Also, sorry you are finding dead links on the community wikis (I assume), I am sure any wiki updates that you performed as you found dead links on our open source project would be most appreciated!

In the meantime I think what you are looking for source wise is https://git.eclipse.org/c/cdt/org.eclipse.cdt.git/tree/cross/org.eclipse.cdt.build.crossgcc that has all the history moved to CVS going back to 2009 when it was first added (see https://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/cross/org.eclipse.cdt.build.crossgcc?id=1042ed5f25a54495dd18079515e8b07b4c4d1bf2)

Jonah


Yes, I've looked at this link but found it useless as no way to download anything from it (literally).

Intelligent repo's usually post a git or svn command to obtain the code or provide a downloadable archive but git.eclipse.org doesn't seem to be that intelligent.

Without an exact git command or a downloadable archive I can't get this source and the page offers no information how to get this block of code which only adds to my frustration.

Also, I can't tell if this is the exact source I am looking for because it's either a different version or it's incomplete.

I've managed to generate the java files from the existing archive but the issue now is a project to build it and putt al the crap back together.

It would have been easier if eclipse would decomplie the class files for me but javap and editing to remove the line comments gave me the files.

Frustration and anger is growing because such a simple process shouldn't be so friggin complicated.

I've created a plugin project, added the java source code and no matter what I do it never generates a jar file or gives me anything usable.

I tried to package the project myself using jar, eclipse complains about no signature and no checksum and refuses to use the plugin.

It's not that I can't program, my issue is getting this plugin fixed and until I can build this basic plugin (before modification) eclipse is nothing more than a waste of disk space.

I can give you the plugin project I made (can't confirm it's made correctly as it doesn't build anything) along with the original plugin.jar.

You can use the jar to extract and make java sources if you don't trust my sources, use the already minor modified java source files and make a new project or fix whatever is wrong with my existing project.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721362 is a reply to message #1721359] Tue, 26 January 2016 20:16 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Quote:
Yes, I've looked at this link but found it useless as no way to download anything from it (literally).

Intelligent repo's usually post a git or svn command to obtain the code or provide a downloadable archive but git.eclipse.org doesn't seem to be that intelligent.

It is right there on the Summary page. github does the same thing btw, I provided a link to a path within a tree.

This is what is on the summary page:

Clone
git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git clone ssh://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git clone http://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git

Here is the exact same thing on github, perhaps you are more familiar with it: https://github.com/eclipse/cdt/tree/master/cross


Quote:
Also, I can't tell if this is the exact source I am looking for because it's either a different version or it's incomplete.


Why don't you tell us what version (Exactly!) you are looking for. I pointed you at a git repo, so ALL versions are there.

Quote:
I've managed to generate the java files from the existing archive but the issue now is a project to build it and putt al the crap back together.


Describing the project as "crap" is not likely to increase the amount of responses you get.

Quote:
It would have been easier if eclipse would decomplie the class files for me but javap and editing to remove the line comments gave me the files.


Not sure why you are decompiling, but there is an excellent decompilation plug-in: http://jd.benow.ca/

Quote:
Frustration and anger is growing because such a simple process shouldn't be so friggin complicated.


Once again I am sorry to hear that. It should not be so complicated, but CDT alone is nearly 2 million LOC. You should be able to build and test all of CDT with a simple "mvn verify" and no setup besides setting up Java and maven!

Quote:
I've created a plugin project, added the java source code and no matter what I do it never generates a jar file or gives me anything usable.


Trying to manually recreate a plug-in from decompiled sources is an exercise in futility. Clone the git repo and go from there.

BTW I just checked, I don't think there was ever a CDT that officially supported Eclipse 4.0. Your choices are less than 3.8, or greater than 4.2.

I wished I had asked this earlier, why are you stuck on old mac hardware?


Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721364 is a reply to message #1721192] Tue, 26 January 2016 20:21 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Marc-Andre Laperle wrote on Mon, 25 January 2016 15:16
Building a somewhat recent CDT for Eclipse 3.x might not be *too* hard, I'd have to check. What's your limitation? 32-bit only? Powerpc? Can you run Eclipse 3.8 Cocoa 32-bit? (http://archive.eclipse.org/eclipse/downloads/drops/R-3.8.2-201301310800/) There might also the fact that Java 7 and up only exist for Intel 64 bit.

32bit
PowerPC
10.4.x
java version "1.5.0_19" (J2SE 5.0)
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-306)
Java HotSpot(TM) Client VM (build 1.5.0_19-138, mixed mode)

None of the cocoa versions run as they target 10.5.x and I can't upgrade to this OS without losing the ability to run some crucial apps.

I've managed to fix a lot of things in my eclipse 4.0 install by using some Helios and Indigo jars by manually swapping them out, updating CDT to 8.x doesn't work.

The ability to build the 3.7.2 carbon version from source would be nice but all the build related files and sources have vanished so the only way to build it now is someone gives me a direct link to the complete carbon-building archive file so I can curl it because using a browser to click links to get to it is not possible with curl and fighting with broken links and missing files is not something I want to deal with.

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721365 is a reply to message #1721364] Tue, 26 January 2016 20:30 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
(sorry I hit post by mistake, I will post full instructions in a few minutes)

[Updated on: Tue, 26 January 2016 20:31]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721374 is a reply to message #1721365] Tue, 26 January 2016 21:46 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git checkout CDT_8_0_3
mvn clean package
... wait for it to download lots of stuff...
Once successfull, the update site (including the plugin) will be in releng/org.eclipse.cdt.repo/target/repository
You can use this location in Help > Install new software

*You need Maven, I tested this with this one (3.0.5) and Java 6 (should work on OSX 10.4 with 32 bit Powerpc)
http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721376 is a reply to message #1721374] Tue, 26 January 2016 22:02 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
I just realized that you said Java 5. But I tried that too and it worked.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721379 is a reply to message #1721362] Tue, 26 January 2016 22:34 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Jonah Graham wrote on Tue, 26 January 2016 20:16
Quote:
Yes, I've looked at this link but found it useless as no way to download anything from it (literally).

Intelligent repo's usually post a git or svn command to obtain the code or provide a downloadable archive but git.eclipse.org doesn't seem to be that intelligent.

It is right there on the Summary page. github does the same thing btw, I provided a link to a path within a tree.

This is what is on the summary page:

Clone
git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git clone ssh://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git clone http://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git

Here is the exact same thing on github, perhaps you are more familiar with it: https://github.com/eclipse/cdt/tree/master/cross


Quote:
Also, I can't tell if this is the exact source I am looking for because it's either a different version or it's incomplete.


Why don't you tell us what version (Exactly!) you are looking for. I pointed you at a git repo, so ALL versions are there.

Quote:
I've managed to generate the java files from the existing archive but the issue now is a project to build it and putt al the crap back together.


Describing the project as "crap" is not likely to increase the amount of responses you get.

Quote:
It would have been easier if eclipse would decomplie the class files for me but javap and editing to remove the line comments gave me the files.


Not sure why you are decompiling, but there is an excellent decompilation plug-in: [removed to post]

Quote:
Frustration and anger is growing because such a simple process shouldn't be so friggin complicated.


Once again I am sorry to hear that. It should not be so complicated, but CDT alone is nearly 2 million LOC. You should be able to build and test all of CDT with a simple "mvn verify" and no setup besides setting up Java and maven!

Quote:
I've created a plugin project, added the java source code and no matter what I do it never generates a jar file or gives me anything usable.


Trying to manually recreate a plug-in from decompiled sources is an exercise in futility. Clone the git repo and go from there.

BTW I just checked, I don't think there was ever a CDT that officially supported Eclipse 4.0. Your choices are less than 3.8, or greater than 4.2.

I wished I had asked this earlier, why are you stuck on old mac hardware?



This is the plugin in question:
C/C++ GCC Cross Compiler Support 1.0.2.201202111925 org.eclipse.cdt.build.crossgcc.feature.group

This is the plugin I need to be able to reproduce that will install and work without complaints or errors.

My reference to "crap" is due to my frustration in trying to achieve my goal.

Have the JD plugin installed.
JD-Eclipse Plug-in 1.0.0 jd.ide.eclipse.feature.feature.group

When I first installed it it worked and I used it to generate the sources from the original jar but after an update it stopped working and when I try to revert the update it fails becuase it can't find a couple of plugins.

Now when I dbl-click a .class file (or right-click-->JD Class File Viewer) it says no source associated and the same unusable decomp from javap so it must not be turned on and I can't find anything in the project properties related to enabling it, removing, reinstalling doesn't fix it so something from the update is incompatible.

I'm not even going to go into the issues related to orphaned configurations, I've chosen to ignore this warning and eclipse provides no way to easily remove orphaned configs and installation of the offending plugin is not possible according to the message I get when I try.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721382 is a reply to message #1721379] Tue, 26 January 2016 23:12 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
I don't think you should try to decompile or anything like that.
Here are more complete instructions to be able to modify *source* code then build the plugins:

git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git checkout CDT_8_0_3

Get the Eclipse SDK here:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/download.php?dropFile=eclipse-SDK-3.7.2-macosx-carbon.tar.gz

Import those projects using File > Import... > Existing Projects into Workspace (to get all dependencies):
org.eclipse.cdt.build.crossgcc
org.eclipse.cdt.core
org.eclipse.cdt.make.core
org.eclipse.cdt.make.ui
org.eclipse.cdt.managedbuilder.core
org.eclipse.cdt.managedbuilder.gnu.ui
org.eclipse.cdt.managedbuilder.ui
org.eclipse.cdt.ui

You can ignore all API errors (i.e. An API baseline has not been set...)

At this point you should be able to edit source code without compilation error. Once you're done, you can build the plugins using the instructions I provided before:

mvn clean package
... wait for it to download lots of stuff...
Once successful, the update site (including the plugin) will be in releng/org.eclipse.cdt.repo/target/repository
You can use this location in Help > Install new software

*You need Maven, I tested this with this one (3.0.5) and Java 5 (should work on OSX 10.4 with 32 bit Powerpc)
http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721384 is a reply to message #1721382] Wed, 27 January 2016 00:11 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Marc-Andre Laperle wrote on Tue, 26 January 2016 23:12
I don't think you should try to decompile or anything like that.
Here are more complete instructions to be able to modify *source* code then build the plugins:

git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
git checkout CDT_8_0_3

Get the Eclipse SDK here:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/download.php?dropFile=eclipse-SDK-3.7.2-macosx-carbon.tar.gz

Import those projects using File > Import... > Existing Projects into Workspace (to get all dependencies):
org.eclipse.cdt.build.crossgcc
org.eclipse.cdt.core
org.eclipse.cdt.make.core
org.eclipse.cdt.make.ui
org.eclipse.cdt.managedbuilder.core
org.eclipse.cdt.managedbuilder.gnu.ui
org.eclipse.cdt.managedbuilder.ui
org.eclipse.cdt.ui

You can ignore all API errors (i.e. An API baseline has not been set...)

At this point you should be able to edit source code without compilation error. Once you're done, you can build the plugins using the instructions I provided before:

mvn clean package
... wait for it to download lots of stuff...
Once successful, the update site (including the plugin) will be in releng/org.eclipse.cdt.repo/target/repository
You can use this location in Help > Install new software

*You need Maven, I tested this with this one (3.0.5) and Java 5 (should work on OSX 10.4 with 32 bit Powerpc)
[removed to post]

I'll give these instructions a shot and report the results but the provided crossgcc is 8.0.3 specific and I'm not sure it will compile/work due to dependancies but worth a shot.

On another note, I can't tell why JD stopped working and I can't find any error or warning when I try to run it since the update so I'm left with no choice but to uninstall it and use javap (yuck).
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721385 is a reply to message #1721384] Wed, 27 January 2016 00:17 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Another issue to consider is that I have no clue if eclipse is properly set up, it takes an engineer to know which packages to select to have it working properly and this may be a contributing factor to my issues.

I guess I like the KISS methodology, "JAVA Tools" would install everything needed for the Java environment but to weed through every package and try to install them and remove until it finally accepts my selections is the only options I'm left with.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721390 is a reply to message #1721385] Wed, 27 January 2016 02:30 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Your git clone command worked and download a pile.

Your git checkout doesn't check out anything.

exact commands issued
dalecnc:/Volumes/Storage/eclipse-git root# git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
Cloning into 'org.eclipse.cdt'...
remote: Counting objects: 570756, done.
remote: Compressing objects: 100% (26125/26125), done.
remote: Total 570756 (delta 16757), reused 0 (delta 0)
Receiving objects: 100% (570756/570756), 129.04 MiB | 440.00 KiB/s, done.
Resolving deltas: 100% (316554/316554), done.
Checking connectivity... done.
Checking out files: 100% (15318/15318), done.
dalecnc:/Volumes/Storage/arm_10.4/eclipse/git root# git checkout CDT_8_0_3
fatal: Not a git repository (or any parent up to mount point /Volumes/Storage)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
dalecnc:/Volumes/Storage/eclipse-git root# ls
org.eclipse.cdt
dalecnc:/Volumes/Storage/eclipse-git root# 


I've deleted everything in preparation of valid commands.

[Updated on: Wed, 27 January 2016 03:22]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721392 is a reply to message #1721390] Wed, 27 January 2016 03:10 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Surely there must be a simple way to get this source without all this cloning nonsense, how about a simple tried and tested checkout command that doesn't need a local clone???

If no simple checkout is possible how about a clone command that only gets me the needed stuff.

Anything not related to programming requires explicit and valid commands, this is about the 20th time in 15 years I've used git as most software has a direct downloadable link that works and even github gives you a zip download option.

Another day wasted with no further progress.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721393 is a reply to message #1721392] Wed, 27 January 2016 03:53 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
For giggles before deleting the clone I pointed the "import existing projects" to the git cloned dir and it found nothing in all those files when you implied I would have about eight projects.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721394 is a reply to message #1721393] Wed, 27 January 2016 03:55 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
The JD plugin does absolutely nothing in 3.7.2 and it doesn't even give me the javap fallback and no other viewer is available.


Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721395 is a reply to message #1721394] Wed, 27 January 2016 04:04 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
At least in 3.7.2 it gives me an error when I try to use the plugin.
org.eclipse.jdt.core.util.ClassFormatException
	at org.eclipse.jdt.internal.core.util.ClassFileReader.<init>(ClassFileReader.java:282)
	at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:239)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.updateCodeView(ClassFileEditor.java:406)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.createControl(ClassFileEditor.java:209)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput(ClassFileEditor.java:793)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.createPartControl(ClassFileEditor.java:743)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198)
	at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:493)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:479)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
	at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
	at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
	at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
	at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:808)
	at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:707)
	at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:666)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2942)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
	at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:331)
	at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:179)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1669)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1693)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1678)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1421)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3738)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3306)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
eclipse.buildId=M20120208-0800
java.version=1.5.0_19
java.vendor=Apple Computer, Inc.
BootLoader constants: OS=macosx, ARCH=ppc, WS=carbon, NL=en_US
Framework arguments:  -keyring /Users/websrvr/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws carbon -arch ppc -keyring /Users/websrvr/.eclipse_keyring -showlocation


Strange how it doesn't give me the regular viewer option.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721400 is a reply to message #1721395] Wed, 27 January 2016 06:51 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
Here's your curl command... I just assumed anyone would be OK with cloning a git repo at this point
curl -O http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/snapshot/org.eclipse.cdt-CDT_8_0_3.tar.gz
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721414 is a reply to message #1721400] Wed, 27 January 2016 10:03 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Marc-Andre Laperle wrote on Wed, 27 January 2016 06:51
Here's your curl command... I just assumed anyone would be OK with cloning a git repo at this point
curl -O http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/snapshot/org.eclipse.cdt-CDT_8_0_3.tar.gz


Some progress WOO-HOO!!!!!

OK, expanded the archive and import with copy the projects, certainly a lot more than the eight I was told I needed so picked the following (added two)
org.eclipse.cdt.build.crossgcc
org.eclipse.cdt.build.crossgcc-feature <-- thought this might be needed.
org.eclipse.cdt.core
org.eclipse.cdt.core.macosx  <-- thought this might be needed.
org.eclipse.cdt.make.core
org.eclipse.cdt.make.ui
org.eclipse.cdt.managedbuilder.core
org.eclipse.cdt.managedbuilder.gnu.ui
org.eclipse.cdt.managedbuilder.ui
org.eclipse.cdt.ui


I executed a build-all and after quite some time it did it's thing, the only two projects that built without any errors or warnings were the following:
org.eclipse.cdt.core.macosx
org.eclipse.cdt.build.crossgcc-feature

As advised i ignored the API errors and most of the warnings were related to dependancies so it looks like I can build cdt-8.0.3.

This is the contents of my current workspace:
dalecnc:/Users/websrvr/Documents/workspace root# ls
.metadata                               org.eclipse.cdt.core                    org.eclipse.cdt.make.ui                 org.eclipse.cdt.managedbuilder.ui
org.eclipse.cdt.build.crossgcc          org.eclipse.cdt.core.macosx             org.eclipse.cdt.managedbuilder.core     org.eclipse.cdt.ui
org.eclipse.cdt.build.crossgcc-feature  org.eclipse.cdt.make.core               org.eclipse.cdt.managedbuilder.gnu.ui
dalecnc:/Users/websrvr/Documents/workspace root# 


dalecnc:/Users/websrvr/Documents/workspace root# mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500)
Maven home: /usr/local/maven
Java version: 1.5.0_19, vendor: Apple Computer, Inc.
Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.4.11", arch: "ppc", family: "unix"
dalecnc:/Users/websrvr/Documents/workspace root#
Where do I execute the "mvn clean package" command or is there something I need (or you want me) to do first to get maven working (installed in /usr/local/maven and path added to environment variable)?

[Updated on: Wed, 27 January 2016 10:22]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721417 is a reply to message #1721414] Wed, 27 January 2016 10:23 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Hi Dale,

You need to import the projects without copying the contents. The contents of your workspace should be ".metadata" only. See attached screenshot. It is for a more recent Eclipse and perhaps the default changed?

When done your edits, go to the root of the code you downloaded (The pom.xml should be there) and do the maven commands Marc Andre recommended.

Jonah
  • Attachment: dontcopy.png
    (Size: 18.64KB, Downloaded 388 times)
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721512 is a reply to message #1721417] Wed, 27 January 2016 21:39 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Ran the "mvn clean package" as directed, surely not a quick process, what's the next step in this process and will I have to duplicate this every time I make changes to crossgcc?
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721518 is a reply to message #1721512] Wed, 27 January 2016 22:22 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Not entirely sure it successfully completedL
[INFO] Using compile source roots from build.properties
[INFO] 
[INFO] --- maven-resources-plugin:2.4.1:testResources (default-testResources) @ org.eclipse.cdt ---
[INFO] Using 'ISO-8859-1' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/websrvr/Documents/workspace/org.eclipse.cdt-CDT_8_0_3/releng/org.eclipse.cdt/src/test/resources
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:package-plugin (default-package-plugin) @ org.eclipse.cdt ---
[INFO] Building jar: /Users/websrvr/Documents/workspace/org.eclipse.cdt-CDT_8_0_3/releng/org.eclipse.cdt/target/org.eclipse.cdt-8.0.2-SNAPSHOT.jar
[INFO] 
[INFO] --- tycho-p2-plugin:0.13.0:p2-metadata (default-p2-metadata) @ org.eclipse.cdt ---
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building org.eclipse.cdt.core 5.3.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ org.eclipse.cdt.core ---
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:build-qualifier (default-build-qualifier) @ org.eclipse.cdt.core ---
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:validate-id (default-validate-id) @ org.eclipse.cdt.core ---
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:validate-version (default-validate-version) @ org.eclipse.cdt.core ---
[INFO] 
[INFO] --- maven-resources-plugin:2.4.1:resources (default-resources) @ org.eclipse.cdt.core ---
[INFO] Using 'ISO-8859-1' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/websrvr/Documents/workspace/org.eclipse.cdt-CDT_8_0_3/core/org.eclipse.cdt.core/src/main/resources
[INFO] 
[INFO] --- tycho-compiler-plugin:0.13.0:compile (default-compile) @ org.eclipse.cdt.core ---
[INFO] Using compile source roots from build.properties
[INFO] Compiling 1984 source files to /Users/websrvr/Documents/workspace/org.eclipse.cdt-CDT_8_0_3/core/org.eclipse.cdt.core/target/classes
[ERROR] Java heap space -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError
d
added the following command and re-running:
export MAVEN_OPTS='-Xmx512m -XX:MaxPermSize=128m'; mvn clean package

[Updated on: Wed, 27 January 2016 22:26]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721523 is a reply to message #1721518] Wed, 27 January 2016 23:17 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 43:36.454s
[INFO] Finished at: Wed Jan 27 18:08:02 EST 2016
[INFO] Final Memory: 55M/132M
[INFO] ------------------------------------------------------------------------
Looks like it built, now, where are the packages and how do I install them???

[Updated on: Wed, 27 January 2016 23:21]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721610 is a reply to message #1721523] Thu, 28 January 2016 15:35 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
Quote:
Once successfull, the update site (including the plugin) will be in releng/org.eclipse.cdt.repo/target/repository
You can use this location in Help > Install new software
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721626 is a reply to message #1721610] Thu, 28 January 2016 17:33 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Marc-Andre Laperle wrote on Thu, 28 January 2016 15:35
Quote:
Once successfull, the update site (including the plugin) will be in releng/org.eclipse.cdt.repo/target/repository
You can use this location in Help > Install new software

Eclipse rejected the url because it's not absolute.

This might not be the best solution as I will make modifications incrementally to ensure I break nothing.

I've already run into an issue related to settings, seems getSimpleValue() doesn't handle booleans and there doesn't seem to be a getBoolean() function so how do I implement a check box???

I think an API document for cdt will be required so I can find all the related stuff, surely I wont need a full eclipse API just to work with CDT.

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721627 is a reply to message #1721626] Thu, 28 January 2016 17:45 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Quote:

Eclipse rejected the url because it's not absolute.


Make it absolute then Wink

e.g. file:///abs/path/to/releng/org.eclipse.cdt.repo/target/repository

Quote:

I've already run into an issue related to settings, seems getSimpleValue() doesn't handle booleans and there doesn't seem to be a getBoolean() function so how do I implement a check box???


Which class are you referring to here. Try Boolean.valueOf(): https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html#valueOf(java.lang.String)

[Updated on: Thu, 28 January 2016 17:46]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721628 is a reply to message #1721627] Thu, 28 January 2016 17:47 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Quote:

This might not be the best solution as I will make modifications incrementally to ensure I break nothing.


Then before installing them, try running in the dev eclipse to see if your incremental changes work
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721629 is a reply to message #1721628] Thu, 28 January 2016 17:50 Go to previous messageGo to next message
Jonah Graham is currently offline Jonah GrahamFriend
Messages: 416
Registered: June 2014
Senior Member
Quote:

I think an API document for cdt will be required so I can find all the related stuff, surely I wont need a full eclipse API just to work with CDT.

What are you trying to achieve? The only getSimpleValue method I can think of off hand is org.eclipse.cdt.core.templateengine.process.ProcessArgument.getSimpleValue() and that is for the template engine. Surely you are not working on a new template, are you?

As for API, yes you will need the API for Eclipse and for CDT depending on what you are doing. Just as you will need the API for Java too, depending on what you are doing.

Anyway, if you can expand on what you are trying to achieve, perhaps someone can point you in the right direction. http://xyproblem.info/
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721652 is a reply to message #1721629] Thu, 28 January 2016 22:02 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
I need to make several changes to the crossgcc plugin becuase I have to so please don't focus on why I must.

I'll start with something simple, I want to add two check boxes to the "Cross Settings" page to implement "objcopy" and "size" when they are checked.

Don't worry about the XML stuff, or if the commands actually works.

I've got example code for the template.xml and plugin.xml from other projects so these are not a concern.

I'm past the stage of being able to build the plugin, no access to the built due to lack of proper URL so I've moved on to implement the setting.

A full API document will only add confusion, API related to plugins in PDF format is about the only useful document aside from someone giving me an example piece of code I can plug in that works.

I surely shouldn't need anything more than the plugin API to make the changes I need.

I can understand why people give up on writing plugins beause the lack of simplicity in getting it to do what you want.

It should be simple to add the checkboxes to a pugin and example code I can plug in that shows the box would go a long way in helping me.

While having to go online to get the plugin every time I make changes is an annoyance, I'll do it this way if it works but unable to confirm this until I get a working URL.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721654 is a reply to message #1721627] Thu, 28 January 2016 22:28 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Jonah Graham wrote on Thu, 28 January 2016 17:45
Quote:

Eclipse rejected the url because it's not absolute.


Make it absolute then Wink

e.g. file:///abs/path/to/releng/org.eclipse.cdt.repo/target/repository

Quote:

I've already run into an issue related to settings, seems getSimpleValue() doesn't handle booleans and there doesn't seem to be a getBoolean() function so how do I implement a check box???


Which class are you referring to here. Try Boolean.valueOf(): https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html#valueOf(java.lang.String)

That's what happens when incomplete informaiton is given, I'll start all over and then look for file:///Users/websrvr/Documents/org.eclipse.cdt-CDT_8_0_3/releng/org.eclipse.cdt.repo/target/repository

I'll ignore your suggestion about boolean, it has nothing to do with java, it has to do with eclipse.

Surely eclipse can save boolean type variable settings or is it too complicated for it?

A known working example for a plugin is needed.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721655 is a reply to message #1721629] Thu, 28 January 2016 22:48 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Jonah Graham wrote on Thu, 28 January 2016 17:50
Quote:

I think an API document for cdt will be required so I can find all the related stuff, surely I wont need a full eclipse API just to work with CDT.

What are you trying to achieve? The only getSimpleValue method I can think of off hand is org.eclipse.cdt.core.templateengine.process.ProcessArgument.getSimpleValue() and that is for the template engine. Surely you are not working on a new template, are you?

As for API, yes you will need the API for Eclipse and for CDT depending on what you are doing. Just as you will need the API for Java too, depending on what you are doing.

Anyway, if you can expand on what you are trying to achieve, perhaps someone can point you in the right direction. http://xyproblem.info/

I need to add features to the crossgcc plugin and I don't have the patience to kindly explain why.

I need some checkboxes to enable things like "size", "objcopy" and other missing features, it must be done in crossgcc so please do not suggest using another plugin.

Eclipse is the place to go for help about Eclipse plugins so no search will be performed elsewhere.

I can reduce this to just implementing "size" as all others would most likely be implemented the same way.

Checkboxes are usually boolean but CDT doesn't seem to know what they are when "Quick Fix" offers stupid solutions like changing the type to a string or changing the API to a boolean.

[Updated on: Thu, 28 January 2016 22:51]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721656 is a reply to message #1721655] Thu, 28 January 2016 22:55 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
That stuff can get pretty complicated. If you need example of how to define options and such, you could look in org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml and perhaps org.eclipse.cdt.msw.build/plugin.xml
For documentation, there is org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/Managed_Build_Extensibility.html

All the files I mentioned are part of the source you have downloaded.

About the URL, when you go to "Install new software", you can click "Add..." then "Local" then browse for the path. It's less error-prone than typing the path.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721658 is a reply to message #1721654] Thu, 28 January 2016 23:03 Go to previous messageGo to next message
Marc-André Laperle is currently offline Marc-André LaperleFriend
Messages: 256
Registered: July 2009
Senior Member
[quote title=Dale Walsh wrote on Thu, 28 January 2016 17:28][quote title=Jonah Graham wrote on Thu, 28 January 2016 17:45]Quote:

I'll ignore your suggestion about boolean, it has nothing to do with java, it has to do with eclipse.

Surely eclipse can save boolean type variable settings or is it too complicated for it?

A known working example for a plugin is needed.


Eclipse and CDT are written in Java... Try something like this
Boolean myBooleanArgument = Boolean.valueOf(progressArgument.getSimpleValue());

It's done like that for example in org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/templateengine/processes/NewManagedProject.java
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721663 is a reply to message #1721658] Fri, 29 January 2016 00:17 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
[quote title=Marc-Andre Laperle wrote on Thu, 28 January 2016 23:03][quote title=Dale Walsh wrote on Thu, 28 January 2016 17:28]Jonah Graham wrote on Thu, 28 January 2016 17:45
Quote:

I'll ignore your suggestion about boolean, it has nothing to do with java, it has to do with eclipse.

Surely eclipse can save boolean type variable settings or is it too complicated for it?

A known working example for a plugin is needed.


Eclipse and CDT are written in Java... Try something like this
Boolean myBooleanArgument = Boolean.valueOf(progressArgument.getSimpleValue());

It's done like that for example in org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/templateengine/processes/NewManagedProject.java


Incomplete information....

			ManagedBuildManager.setOption(config, toolchain, option, printsize); // This wont accept the boolean


So, eclipse doesn't handle booleans as settings, at least not in an normal manner so again, I ask for known working code to implement a checkbox.

Some data from the xml files in case someone decides to comment it's more involved than the ability to save and read back the setting.
plugin.xml:
         <option
               category="cdt.managedbuild.optionCategory.gnu.cross.settings"
               id="cdt.managedbuild.option.gnu.cross.printsize"
               isAbstract="true"
               defaultValue="false"
               name="Cross GCC Size"
               resourceFilter="all"
               valueType="boolean">
               <enablement
                     attribute="value"
                     type="ALL"
                     value="true">
                  <!-- we only want to process applications -->
                  <checkBuildProperty
                        property="org.eclipse.cdt.build.core.buildArtefactType"
                        value="org.eclipse.cdt.build.core.buildArtefactType.exe">
                  </checkBuildProperty>
               </enablement>
         </option>

template.xml
		<property id="printsize"
			label="Print Size"
			description="Print the size of the file"
			type="toggle"
			default="false"
			hidden="false"
			persist="true"/>


Clearly boolean is not the correct way to do a checkbox.

I still have yet to see plugable working code that gives me a checkbox.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721667 is a reply to message #1721663] Fri, 29 January 2016 05:07 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
OK, sorted out the checkbox, now moving to options for the "size" command.

I think when all is said and done I need to create a PDF using this plugin as an example of how to modify an existing plugin.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721751 is a reply to message #1721667] Fri, 29 January 2016 18:54 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Well, I finally got "size" implemented in the cross only to find out that CDT is extremely handicapped in supported/implemented tools.

The major issue is in the tool management, it seems "gcc", "cc", "c++", "g++", "cpp", "ar", "as" are the only managed tools.

Tools like "strip", "ld", "size", "objcopy", "objdump", "elfedit", "readelf", "strings", "addr2line" are not managed and there seems to be no simple way of adding them except to weed through the entire CDT and implement (what should have been implemented) the missing commands so that they can be used as needed.

I'll start by getting the missing tools added but I will need some help from someone who is familar with how CDT does it's thing.

How on earth it passed approval with such limited functionality is beyond my comprehension but I think it would be a considerable improvement to add the functionality.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721799 is a reply to message #1721751] Sun, 31 January 2016 01:23 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
OK, taking a step back, first I need to get the tools working before they can be implemented in another plugin.

Once the tools are listable and the options for them work, I'll need to help (maybe) to get them working in a build cycle so I might need some assistance from someone familiar with the inner workings of the CDT.

Also, there are a lot of deprecated "abstract=" so I'm wondering if it would be helpfull to get those fixed?
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721834 is a reply to message #1721799] Sun, 31 January 2016 21:18 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
I have expanded linker and compiler tool functionality and can confirm the expanded compiler and linker functionality works.

I have added the "size" tool as a base tool, added it to some toolchains and can confirm the tool is selectable and confirmed it can be configured and the settings are persistant.

How do I get CDT to call the tool?

I've set the input file based on the BuildArtifactFileName so if the BuildArtifactFileName file is generated shouldn't CDT automatically execute the "size" command?

Once I have this tool working I will/should be able to make all of the other tools work but until it executes the command I'm dead in the water.

[Updated on: Mon, 01 February 2016 02:29]

Report message to a moderator

Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721899 is a reply to message #1721834] Mon, 01 February 2016 13:55 Go to previous messageGo to next message
Tauno Voipio is currently offline Tauno VoipioFriend
Messages: 742
Registered: August 2014
Senior Member
Have you tried the External Tools configuration?
It's the arrow beside the green arrow button with a handbag.


--

Tauno Voipio
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721942 is a reply to message #1721899] Mon, 01 February 2016 18:22 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Tauno Voipio wrote on Mon, 01 February 2016 13:55
Have you tried the External Tools configuration?
It's the arrow beside the green arrow button with a handbag.


It is clear you have no clue what is being achieved or you have very little clue how CDT works.

Based on what you are saying when I create a new project I have to click this button to configure gcc, g++, ar and as every time becuase after all, they are external tools.

Your suggestion is only going to confuse any readers who are going to try and do something that will only break their projects.

It's not an external tool that is unknown to the toolchain, it's a tool that is part of a toolchain and available in the standard CDT toolchains.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721950 is a reply to message #1721942] Mon, 01 February 2016 19:53 Go to previous messageGo to next message
Tauno Voipio is currently offline Tauno VoipioFriend
Messages: 742
Registered: August 2014
Senior Member
I gave up using the automatic makefile generation for cross-compilation.
If you write the makefiles yourself, there would not be any need of the cross-plugin.

You have probably taken Sisyphus' job. The systems that can be cross-compiled are so varied that you will run out of clickboxes.


--

Tauno Voipio
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721952 is a reply to message #1721942] Mon, 01 February 2016 20:30 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
The CDT maven project is not easily expandable to add additional plugins, I wrote two extenders for the Cross GCC to give Cross ARM GCC and Cross AVR GCC which add cpu specific options and maven does not place the files in the repository and yes I've edited the pom.xml and the buildsite.xml files to add the project so I manually placed the two jar files in the plugins directory, restarted eclipse and the plugins now show the additional toolchains which are selectable and work however.

The "objcopy" and "size" command are never executed so I have reduced the project back to just adding the "size" tool and making it work.

Why all developer tools were never included in eclipse/cdt escapes me, adding support for SC-Macro toolchain is impossible if adding base tools and expanding toolchain functionality is not easily achievable because calling the assembler is a two call process (scas -s -sr abc.res -o abc.o abc.asm / scas -b -rr abc.res -o abc) (first generates the resource file and finds all resources and frameworks if needed, the second makes the binary based on the resources) unlike calling "as" (as -o abc abc.asm) and I believe I can implement this as two seperate tools once I know how to make a tool work.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1721954 is a reply to message #1721950] Mon, 01 February 2016 20:47 Go to previous messageGo to next message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
Tauno Voipio wrote on Mon, 01 February 2016 19:53
I gave up using the automatic makefile generation for cross-compilation.
If you write the makefiles yourself, there would not be any need of the cross-plugin.

You have probably taken Sisyphus' job. The systems that can be cross-compiled are so varied that you will run out of clickboxes.

"automatic makefile generation"???

The internal builder should be able to handle all tools.

If it can't then it can't generate proper makefiles.

I test both build methods, (internal/external), I can see the size command is placed in the makefile however it's not referenced in the "all:" statement so something must be missing.
Re: eclipse-SDK-4.0-macosx-carbon / CROSSGCC issue [message #1722004 is a reply to message #1721954] Tue, 02 February 2016 08:38 Go to previous message
Dale Walsh is currently offline Dale WalshFriend
Messages: 34
Registered: January 2016
Member
I am able to confirm the tools work by manually making the target (makefile generation) however, there seems to be an issue with targets and this looks like it's why the internal builder doesn't make the secondary targets.

According to addTargets(List<String> outputVarsAdditionsList, boolean rebuild) SECONDARY_OUTPUTS should be appended to the all: target and clearly they are not.

From GnuMakeFileGenerator:
		// Write out the all target first in case someone just runs make
		// all: <target_name> or mainbuild: <target_name>

		String outputPrefix = EMPTY_STRING;
		if (targetTool != null) {
			outputPrefix = targetTool.getOutputPrefix();
		}
		buffer.append(defaultTarget + WHITESPACE + outputPrefix
				+ ensurePathIsGNUMakeTargetRuleCompatibleSyntax(buildTargetName));
		if (buildTargetExt.length() > 0) {
			buffer.append(DOT + buildTargetExt);
		}

		// Add the Secondary Outputs to the all target, if any
		IOutputType[] secondaryOutputs = config.getToolChain().getSecondaryOutputs();
		if (secondaryOutputs.length > 0) {
			buffer.append(WHITESPACE + SECONDARY_OUTPUTS);   // SECONDARY_OBJCOPY and SECONDARY_SIZE should be appended to all: !!!!!
		}

		buffer.append(NEWLINE + NEWLINE);




Tools added in plugin.xml:
      <tool
            command="objcopy"
            commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}"
            id="cdt.managedbuild.tool.gnu.objcopy"
            isAbstract="false"
            name="GNU Create Flash Image"
            natureFilter="both">
         <enablement
               type="ALL">
            <and>
               <checkBuildProperty
                     property="org.eclipse.cdt.build.core.buildArtefactType"
                     value="org.eclipse.cdt.build.core.buildArtefactType.exe">
               </checkBuildProperty>
            </and>
         </enablement>
         <inputType
               id="cdt.managedbuild.gnu.objcopy.input"
               multipleOfType="true"
               option="cdt.managedbuild.gnu.objcopy.option.InFileName"
               sources="elf">
         </inputType>
         <outputType
               buildVariable="SECONDARY_OBJCOPY"
               id="cdt.managedbuild.gnu.objcopy.output"
               outputNames="${BuildArtifactFileBaseName}.hex"
               outputContentType="cdt.managedbuild.gnu.objcopy.content-type.hex"
               outputs="hex"
               primaryOutput="false">
         </outputType>
         <optionCategory
               id="cdt.managedbuild.gnu.objcopy.optionCategory.general"
               name="%OptionCategory.General">
         </optionCategory>
         <option
               category="cdt.managedbuild.gnu.objcopy.optionCategory.general"
               id="cdt.managedbuild.gnu.objcopy.option.choice"
               name="%Option.Gnu.ObjCopy.outFormat"
               tip="Write the output file using the given object format."
               valueType="enumerated">
            <enumeratedOptionValue
                  command="-O ihex"
                  id="cdt.managedbuild.gnu.objcopy.option.choice.ihex"
                  isDefault="true"
                  name="Intel Hex">
            </enumeratedOptionValue>
            <enumeratedOptionValue
                  command="-O srec"
                  id="cdt.managedbuild.gnu.objcopy.option.choice.srec"
                  name="Motorola S-record">
            </enumeratedOptionValue>
            <enumeratedOptionValue
                  command="-O symbolsrec"
                  id="cdt.managedbuild.gnu.objcopy.option.choice.symbolsrec"
                  name="Motorola S-record (symbols)">
            </enumeratedOptionValue>
            <enumeratedOptionValue
                  command="-O binary"
                  id="cdt.managedbuild.gnu.objcopy.option.choice.binary"
                  name="Raw Binary">
            </enumeratedOptionValue>
         </option>
         <option
               category="cdt.managedbuild.gnu.objcopy.optionCategory.general"
               command="-j .text"
               id="cdt.managedbuild.gnu.objcopy.option.textsection"
               isAbstract="false"
               name="Section -j text"
               resourceFilter="all"
               tip="Copy only the text section from the input file to the output file. This option may be given more than once."
               valueType="boolean">
         </option>
         <option
               category="cdt.managedbuild.gnu.objcopy.optionCategory.general"
               command="-j .data"
               id="cdt.managedbuild.gnu.objcopy.option.datasection"
               isAbstract="false"
               name="Sections -j data"
               resourceFilter="all"
               tip="Copy only the data section from the input file to the output file. This option may be given more than once."
               valueType="boolean">
         </option>
         <option
               category="cdt.managedbuild.gnu.objcopy.optionCategory.general"
               command="-j "
               id="cdt.managedbuild.gnu.objcopy.option.othersection"
               isAbstract="false"
               name="Other sections (-j)"
               resourceFilter="all"
               tip="Copy only the named section from the input file to the output file. This option may be given more than once."
               valueType="stringList">
         </option>
         <option
               category="cdt.managedbuild.gnu.objcopy.optionCategory.general"
               id="cdt.managedbuild.gnu.objcopy.option.other"
               name="%Option.OtherFlags"
               valueType="string">
         </option>
         <option
               id="cdt.managedbuild.gnu.objcopy.option.InFileName"
               resourceFilter="all"
               value="&quot;${BuildArtifactFileName}&quot;"
               valueType="string">
         </option>
      </tool>

      <tool
            command="size"
            commandLinePattern="${COMMAND} ${FLAGS}"
            id="cdt.managedbuild.tool.gnu.size"
            name="%ToolName.size.gnu"
            natureFilter="both">
         <supportedProperties>
            <not>
            <property
                  id="org.eclipse.cdt.build.core.buildArtefactType">
               <value
                     id="org.eclipse.cdt.build.core.buildArtefactType.sharedLib">
               </value>
            </property>
            </not>
         </supportedProperties>
         <inputType
               id="cdt.managedbuild.gnu.size.input"
               multipleOfType="true"
               option="cdt.managedbuild.gnu.size.InFileName"
               sources="elf">
         </inputType>
         <outputType
               buildVariable="SECONDARY_SIZE"
               id="cdt.managedbuild.gnu.size.output"
               outputNames="${BuildArtifactFileBaseName}.siz"
               outputContentType="cdt.managedbuild.gnu.objcopy.content-type.siz"
               outputs="siz"
               primaryOutput="false">
         </outputType>
         <optionCategory
               owner="cdt.managedbuild.tool.gnu.size"
               id="gnu.size.category.general"
               name="%OptionCategory.General">
         </optionCategory>
         <option
               category="gnu.size.category.general"
               defaultValue="gnu.option.size.format.berkeley"
               id="gnu.option.size.format"
               name="%Option.Gnu.Size.Format"
               tip="Choose whether the output from gnu size resembles output from System V size (using -A, or --format=sysv), or Berkeley size (using -B, or --format=berkeley). The default is the one-line format similar to Berkeley&apos;s."
               valueType="enumerated">
            <enumeratedOptionValue
                  command="--format=berkeley"
                  id="gnu.option.size.format.berkeley"
                  name="Berkeley">
            </enumeratedOptionValue>
            <enumeratedOptionValue
                  command="--format=sysv"
                  id="gnu.option.size.format.sysv"
                  name="SysV">
            </enumeratedOptionValue>
            <enablement
                  attribute="value"
                  type="CONTAINER_ATTRIBUTE"
                  value="gnu.option.size.format.berkeley">
            </enablement>
         </option>
         <option
               category="gnu.size.category.general"
               command="-x"
               defaultValue="false"
               id="gnu.option.size.hex"
               name="%Option.Gnu.Size.Print.Hex"
               tip="The size of each section is given in hexadecimal."
               valueType="boolean">
            <enablement
                  type="ALL">
               <checkOption
                     holderId="cdt.managedbuild.tool.gnu.size"
                     isRegex="false"
                     optionId="gnu.option.size.format"
                     value="gnu.option.size.format.berkeley">
               </checkOption>
            </enablement>
         </option>
         <option
               category="gnu.size.category.general"
               command="--totals"
               defaultValue="false"
               id="gnu.option.size.totals"
               name="%Option.Gnu.Size.Show.Totals"
               tip="Show totals of all objects listed (Berkeley format listing mode only). "
               valueType="boolean">
         </option>
         <option
               category="gnu.size.category.general"
               id="gnu.option.size.other"
               name="%Option.Gnu.Size.Flags"
               valueType="string">
         </option>
         <option
               id="cdt.managedbuild.gnu.size.InFileName"
               resourceFilter="all"
               value="&quot;${BuildArtifactFileName}&quot;"
               valueType="string">
         </option>
      </tool>



Extensions added in plugin.xml:
<extension
         point="org.eclipse.core.runtime.contentTypes">
      <content-type
            base-type="org.eclipse.core.runtime.text"
            file-extensions="hex"
            id="cdt.managedbuild.gnu.objcopy.content-type.hex"
            name="FLASH Hex file"
            priority="normal">
      </content-type>      
</extension>
<extension
         point="org.eclipse.core.runtime.contentTypes">
      <content-type
            base-type="org.eclipse.core.runtime.text"
            file-extensions="siz"
            id="cdt.managedbuild.gnu.objcopy.content-type.siz"
            name="Size file"
            priority="normal">
      </content-type>      
</extension>


Tools added to toolchain in plugin.xml:
				  <tool
                      id="cdt.managedbuild.tool.gnu.objcopy.base"
                      superClass="cdt.managedbuild.tool.gnu.objcopy">
             <enablement
                type="ALL">
                <checkBuildProperty
                    property="org.eclipse.cdt.build.core.buildArtefactType"
                    value="org.eclipse.cdt.build.core.buildArtefactType.exe">
                </checkBuildProperty>
             </enablement>
                  </tool>
				  <tool
                      id="cdt.managedbuild.tool.gnu.size.base"
                      superClass="cdt.managedbuild.tool.gnu.size">
             <enablement
                type="ALL">
                <checkBuildProperty
                    property="org.eclipse.cdt.build.core.buildArtefactType"
                    value="org.eclipse.cdt.build.core.buildArtefactType.exe">
                </checkBuildProperty>
             </enablement>
                  </tool>



Contents of generated makefile:
################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include System/Src/usb-lib/subdir.mk
-include System/Src/stm32f1xx/subdir.mk
-include System/Src/newlib/subdir.mk
-include System/Src/diag/subdir.mk
-include System/Src/cortexm/subdir.mk
-include System/Src/CMSIS/subdir.mk
-include Src/subdir.mk
-include subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables 
SECONDARY_OBJCOPY += \
dale.hex \

SECONDARY_SIZE += \
dale.siz \


# All Target
all: dale.elf

# Tool invocations
dale.elf: $(OBJS) $(USER_OBJS)
	@echo 'Building target: $@'
	@echo 'Invoking: Cross G++ Linker'
	arm-none-eabi-g++ -T  mem.ld -T  libs.ld -T  sections.ld -nostartfiles -Xlinker --gc-sections -L../ldscripts -Wl,-Map,"dale.map" -mcpu=cortex-m3 -mthumb -o "dale.elf" $(OBJS) $(USER_OBJS) $(LIBS)
	@echo 'Finished building target: $@'
	@echo ' '

dale.hex: dale.elf
	@echo 'Invoking: Cross GNU Create Flash Image'
	arm-none-eabi-objcopy -O ihex "dale.elf"  "dale.hex"
	@echo 'Finished building: $@'
	@echo ' '

dale.siz: dale.elf
	@echo 'Invoking: Cross GNU Size'
	arm-none-eabi-size --format=berkeley "dale.elf"
	@echo 'Finished building: $@'
	@echo ' '

# Other Targets
clean:
	-$(RM) $(OBJS)$(SECONDARY_SIZE)$(C++_DEPS)$(EXECUTABLES)$(CC_DEPS)$(CPP_DEPS)$(C_DEPS)$(SECONDARY_OBJCOPY)$(CXX_DEPS)$(C_UPPER_DEPS) dale.elf
	-@echo ' '

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets


How can I force the addition to the all: targets?

[Updated on: Tue, 02 February 2016 08:54]

Report message to a moderator

Previous Topic:LOG4CXX and 'Invalid argument' problem
Next Topic:Serial remote debugging with Eclipse CDT or Eclipse standalone debugger
Goto Forum:
  


Current Time: Fri Apr 26 19:40:50 GMT 2024

Powered by FUDForum. Page generated in 0.07674 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top