1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

3288 commits

Author SHA1 Message Date
John Dallaway
dd543580a5 Enhance legacy GNU assembler flag detection 2024-01-27 16:03:45 +00:00
John Dallaway
233c6d8696 Invoke "gcc" to build assembler files
Enables pre-processing of *.S and *.sx source files.
2024-01-24 20:25:19 +00:00
Michael Keppler
d4102ca82f
Clean up Maven build (#662)
* remove invalid tycho resolver config (not valid since many versions)
* fix PMD plugin configuration (config attribute was renamed in 3.18)
* remove duplicate versions already managed in pluginManagement section
* fix indentation
* move all not yet configured versions into pluginManagement of the
parent module to avoid further duplication
* consume the target platform as file, not as maven artifact (this
simplifies building a single module A LOT)
* remove invalid tycho-source-plugin configuration
* disable tycho consumer POM generation (not needed here, and avoids a
warning in each module)
* remove prerequisites. that's for maven plugins only, and this POM
already contains the better suited similar maven enforcer rule
* enforce UTF-8 for javadoc generation (the build fails on Windows
otherwise, trying to read some Japanese? characters with the Windows
default encoding)
2023-12-28 14:35:58 -05:00
John Dallaway
9aa6fb158d Use build CWD for object path processing within GNU archive files 2023-12-12 20:30:10 +00:00
Jonah Graham
f7a63377a6
Prepare repo for 11.5.0 (#633) 2023-12-06 18:48:15 -05:00
John Dallaway
f39707a293 Add GNU C++ linker library grouping option to MBS 2023-11-12 17:05:19 +00:00
John Dallaway
e31815210e Add GNU linker library grouping option to MBS 2023-11-10 13:07:33 +00:00
Alexander Fedorov
b0317c09ed Revert "[#592] Managed Build Definitions : prefer "identifier" type of attribute"
This reverts commit 7136606455.
2023-10-11 21:58:54 +03:00
Alexander Fedorov
7136606455 [#592] Managed Build Definitions : prefer "identifier" type of attribute
Add meta information for id-like attributes

Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2023-10-11 20:32:15 +03:00
William Riley
5250f5a07b
Replace org.freemarker with org.freemarker.freemarker (#547)
Also remove re-exports & add package imports

Fixes #546
2023-09-19 14:02:39 -04:00
John Dallaway
8062151c30 Add AbstractGnuToolPrefixMacro copyright notice 2023-09-15 18:59:10 +01:00
Jonah Graham
a92b90a4c8 Bump all bundles that are missing BREE in 11.3.0
Part of #551
2023-09-15 07:24:17 -04:00
Jonah Graham
3bcba2303d Prepare repo for CDT 11.4.0 development
Part of #548
2023-09-14 19:47:15 -04:00
Jonah Graham
c7169b3186 Refactor XML file handling 2023-08-16 11:06:59 -04:00
Jonah Graham
e725b88951 Fix test cases that recently regressed
Recently new extensions were added to CDT for C++ modules in #422
At the time some test failures were not noticed. This change patches
those failing tests.

Fixes #454
2023-08-09 21:37:19 -04:00
Jonah Graham
154d66f815 Add unique display name for some test plug-ins 2023-08-08 15:47:35 -04:00
Jonah Graham
9448058a76
Resolve cast exception - fixup for inferring generic types (#490)
Long ago in 334702ee05 generic types
were added. However in at least one place a previous assumption
that existed was broken. That assumption was the true
type of ResourceInfo.getTools() would be Tool[] as opposed to ITool[].
That commit broke it for ResourceConfiguration.getTools()

Internally in CDT ITool is in practice always Tool, and as a result
there are lots of downcast from ITool -> Tool. However ITool[] cannot
be downcast to Tool[] unless the original type was Tool[].

Instead we use Arrays.copyOf to copy the array into the correct
array type.

Steps to reproduce the problem now fixed:

1. Create a Managed Build executable project.
2. Open the properties window of the source file (as opposed to project)
3. At the Properties page, navigate to "C/C++ Build/Tool Chain Editor".
4. Click the "Apply" button.
2023-08-03 17:12:26 -04:00
Jonah Graham
ac84c4ec86 Prepare repo for CDT 11.3.0 development
Some bundles are bumped because dev happened between 11.2 release and
this version bump. The most significant change that happened
was the bump in Tycho version which changed ECJ version and
hence some class files changed

Part of #420
2023-07-10 21:41:39 -04:00
Jonah Graham
460c0021aa Move all dependencies to maven direct where possible
Includes:

- Sign all artifacts, particularly 3rd party with CDT's PGP key
- Using maven version managed and updated by EF Webmasters
- Update to latest SnakeYAML
- Move some 3rd party dependencies to Import-Package (instead of
  Require-Bundle)
2023-07-10 20:47:10 -04:00
15knots
09728af3db
recognize source file extensions ".ccm", ".cxxm", and ".c++m" (#422)
* recognize source file extensions ".ccm", ".cxxm", and ".c++m"

cmake 3.27 release notes: The "CXX" language now treats source file
extensions ".ccm", ".cxxm", and ".c++m" as C++.

Signed-off-by: 15knots <11367029+15knots@users.noreply.github.com>
2023-06-16 20:56:51 +02:00
Erwin Waterlander
9dcaf509fa Cleanup GCCToolChain
Fixed some possible null pointer uses, detected by a statical code
analysis tool.
2023-06-06 14:10:16 -04:00
Umair Sair
08693047c5 Headless importAll fails with error
importAll fails with error 'Project: .org.eclipse.egit.core.cmp already
exists in the workspace!' and no further projects are imported.

The fix is to not go into special directories .metadata and
.org.eclipse.egit.core.cmp. Moreover, importAll and removeAll do not
fail immediately if operation on a project fails,
instead it keeps on performing operation on all projects and at the end, headless
builder returns with error code if operation of any project failed
2023-05-03 11:35:38 -04:00
Erwin Waterlander
f40f957c6c Improved GCCToolChain.stripCommand()
GCCToolChain.stripCommand() assumed that all resources are at the end
of the command, like in the old version of
GCCToolChain.getResourcesFromCommand() which was fixed in PR #311 (see
commit a89ce59df2). Now stripCommand() is in line with
getResourcesFromCommand().
2023-04-21 13:30:22 -04:00
John Dallaway
82a235fbb9 Improve encapsulation within AbstractGnuToolPrefixMacro
Part of #361
2023-04-19 18:45:01 +01:00
John Dallaway
0d9fa844bf Set tool prefix for spawning GNU tool processes
Allows the GNU tool prefix to be specified by a CDT build variable.

Modifies the Cross GCC toolchain description to provide the GNU tool
prefix.

Part of #361
2023-04-17 20:24:56 +01:00
John Dallaway
45a6e7957b Add GNU PE64 binary parser for MinGW GCC toolchain
Part of #361
2023-04-13 21:54:36 +01:00
Jonah Graham
0dabaa15fb Handle null "DisplayName" in registry
Fixes #330
2023-03-20 09:21:57 -04:00
Erwin Waterlander
a6a4bfcf3b Binary not found in Core Build Makefile project
Fixed the problem for Core Build Makefile projects that the output
binary could not be found during launching when the user set the
Build Output Location to "Build in project directory".
The project was only looking for binaries in the "build" folder.
2023-03-19 15:18:51 -04:00
Erwin Waterlander
50bddd886a Changed the template application to Hello World.
This provides a more useful template when making a simple Makefile
project.

Pulled out of #314
2023-03-16 11:45:57 -04:00
Erwin Waterlander
a89ce59df2 Improved getting resources from the gcc commandline.
The old method assumed all resources were at the end of the line,
optionally followed by option -o.
Now the complete line is scanned for valid resource file extensions.
2023-03-16 10:55:56 -04:00
Jonah Graham
c18d06e84d Upgrade to Tycho 3.0.3 (latest)
Part of #320
See also #308
2023-03-14 14:02:47 -04:00
Jonah Graham
b2666eb578 Update copyright year on all features
Part of #320
2023-03-13 21:00:55 -04:00
Jonah Graham
21e923ada7 [releng] Prepare repo for CDT 11.2 development
Part of #320
2023-03-13 13:54:48 -04:00
Erwin Waterlander
920f7d85a5 New API to custom parse #define lines from GCC during scanning
Option to override the matching of macro defines for the Core Build
GCC toolchain. This may be needed for custom compilers.

Also-by: Jonah Graham <jonah@kichwacoders.com>
2023-02-15 11:59:49 -05:00
Jonah Graham
34f1736317 Re-read the makefile targets when a project becomes eligible
Without this change when the project is not a "hasTargetBuilder" then
the projectMap will contain an entry mapping the project to
an empty set of makefile targets. So when we get a project added,
make sure to re-read the target settings by clearing the cached
versions.

Fixes #244
2023-01-28 10:54:45 -05:00
John Dallaway
a949830dd3
Support multiple MSYS2 64-bit registry names (#243) 2023-01-15 16:52:20 +00:00
Jonah Graham
b87a45520a [releng] Prepare repo for CDT 11.1.0 development 2022-12-09 12:24:55 -05:00
Jonah Graham
1b19ba20c2 Update to latest Eclipse Platform and Orbit
Includes logging changes/simplification brought on by
https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/issues/588
2022-11-21 19:05:08 -05:00
Jonah Graham
b8bd15844b Bug 571722: Add ALL_FLAGS for scanner discovery
This change adds the ALL_FLAGS that does not limit tool options to
those declared as IOption::isForScannerDiscovery when launching the
compiler to discover compiler built-ins.

This is needed as many other flags, either entered manually in "Other
flags" or some of the existing flags with checkboxes such as "-ansi",
"-fPIC", and "-fstack-protector-all" which all affect scanner discovery
as they can all change what macros are built-in to the compiler.

The current solution has as a drawback that some settings, like -I and -D
then appear twice. For example in the "Includes" node in the "Project
Explorer"

My only reservation about this change is if there is an option
that can be specified successfully at build time, but when used
at scanner discovery time causes the compiler to fail, or return
incorrect results. Therefore I have added a new field,
excludeFromScannerDiscovery to tool options (buildDefinitions
extension point) that allows tool integrators to always exclude
a command line option from ALL_FLAGS. I have also added
a new "Other flags (excluded from discovery)" to the
"Miscellaneous" tab to allow compiler options to be entered
by the user.
2022-11-21 10:46:49 -05:00
Jonah Graham
c4761cfd02 fix code cleanlines 2022-11-18 10:55:40 -05:00
John Moule
c4c63453c3 Bug 580015: add support for multiple bin parsers #75
Fixed build props of new test plugin.

Fixed test, cleanup project afterwards.
2022-11-18 10:55:40 -05:00
John Moule
fc821a41e7 Bug 580015: add support for multiple bin parsers #75
Added remaining project metadata for new gcc test plugin.
2022-11-18 10:55:40 -05:00
John Moule
7759af22d6 Bug 580015: add support for multiple bin parsers #75
Removed ICBuildConfiguration.getBinaryParserId() and
IToolChain.getBinaryParserId(). Replaced with methods that return a list
of IDs.

Updated API changes doc.

Rearranged tests so that the test for IToolChain is in a new gcc test
plugin.
2022-11-18 10:55:40 -05:00
John Moule
c52de83035 Update for major version bump
Update since tags to 8.0.
Remove api filter.
Fix other since tags after removing of api filter.
Remove interface defaults.
Add default implementations where necessary.
Update tests - TBC.
2022-11-18 10:55:40 -05:00
Jonah Graham
1689f1947c Remove .. folder entry in zip file
This resolve the following exception during the build:


!ENTRY org.eclipse.ui.ide 4 4 2022-11-11 09:45:42.503
!MESSAGE Entry is outside of the target dir: ../
!STACK 0
java.io.IOException: Entry is outside of the target dir: ../
	at org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider.initialize(ZipFileStructureProvider.java:190)
	at org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider.getChildren(ZipFileStructureProvider.java:113)
	at org.eclipse.ui.wizards.datatransfer.ImportOperation.importRecursivelyFrom(ImportOperation.java:781)
	at org.eclipse.ui.wizards.datatransfer.ImportOperation.execute(ImportOperation.java:385)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:110)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2380)
2022-11-11 11:34:37 -05:00
Jonah Graham
448c8745e8 Delete dead code. 2022-11-11 11:34:37 -05:00
Jonah Graham
a27d4a3bb7 Mark for removal API not accessed within CDT (or Embed CDT) 2022-11-11 11:34:37 -05:00
Jonah Graham
15ee18e027 Stop synchronizing user guides from Wiki
The primary location for these user guides is now the Git repo in HTML
format.

Part of #32
2022-11-09 10:56:55 -05:00
Jonah Graham
a3a6682faa Lower build.properties errors to warnings for some projects
Some projects build some of their bin includes with maven
build, so remove the error in those cases.

fixup for 6eaaf714cc
2022-11-07 23:13:26 -05:00
Jonah Graham
9026f53fd5 Remove deprecated binary parsers and supporting code
These binary parsers have been slated for deleting for
a while and are replaced with 64-bit compatible
versions.

Some methods still refereneced the 32-bit variants
and have been updated to the fully functioning
64-bit variant.

The older parser IDs are preserved (forever?) so that
old projects can be opened without needing to do anything.
The IDs now point at the new implementations.

See also Bug 562495
2022-11-07 20:58:25 -05:00