-
Notifications
You must be signed in to change notification settings - Fork 85
Add support for FreeBSD #2959
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
Comments
- part of eclipse-platform/eclipse.platform.releng.aggregator#2959 - add 2 SWT binary modules for FreeBSD: org.eclipse.swt.gtk.freebsd.aarch64 org.eclipse.swt.gtk.freebsd.x86_64 - changes made to the build.sh script and make_linux.mak (renamed to make_unix.mak) to support compiling FreeBSD native binaries for SWT. To support cross-compiling from Linux to FreeBSD, for the same hardware architecture, a Docker container is made available in my fork with detailed instructions: https://github.com/chirontt/eclipse.platform.releng.aggregator/tree/master/cje-production/dockerfiles/alpine/freebsd-cross which will be submitted to the official repo at later stage.
- part of eclipse-platform/eclipse.platform.releng.aggregator#2959 - add 2 launcher modules for FreeBSD: org.eclipse.equinox.launcher.gtk.freebsd.aarch64 org.eclipse.equinox.launcher.gtk.freebsd.x86_64 - changes made to the build.sh script and make_linux.mak (renamed to make_unix.mak) to support compiling FreeBSD native launcher binaries - changes made to some .c source files to support FreeBSD - add Equinox security module for FreeBSD: org.eclipse.equinox.security.freebsd which is just a verbatim copy of the Linux's module. To support cross-compiling from Linux to FreeBSD, for the same hardware architecture, a Docker container is made available in my fork with detailed instructions: https://github.com/chirontt/eclipse.platform.releng.aggregator/tree/master/cje-production/dockerfiles/alpine/freebsd-cross which will be submitted to the official repo at later stage.
Part of eclipse-platform/eclipse.platform.releng.aggregator#2959 Most changes are made to the parser of the .product file (ProductFile.java) to support relevant elements for FreeBSD such as: programArgsFbsd vmArgsFbsd
- part of eclipse-platform#2959 - add environment triplets for FreeBSD aarch64 and/or x86_64.
- part of eclipse-platform/eclipse.platform.releng.aggregator#2959 - add 2 file system modules for FreeBSD: org.eclipse.core.filesystem.freebsd.aarch64 org.eclipse.core.filesystem.freebsd.x86_64 - add a Makefile to compile the file system natives for FreeBSD. To support cross-compiling from Linux to FreeBSD, for the same hardware architecture, a Docker container is made available in my fork with detailed instructions: https://github.com/chirontt/eclipse.platform.releng.aggregator/tree/master/cje-production/dockerfiles/alpine/freebsd-cross which will be submitted to the official repo at later stage.
Part of eclipse-platform/eclipse.platform.releng.aggregator#2959 Most changes are made to the parser of the .product file and its GUI editor to support relevant elements for FreeBSD such as: programArgsFbsd vmArgsFbsd etc.
Pardon my lack of knowledge but for Linux we have one binary for all Linux distros, are BSDs that different that there can't be one "bsd" build for all (Free, Open, Net...) ? |
I haven't tried the OpenBSD, NetBSD, but I suspect they are all separate OSes, and not separate distributions of an BSD OS, as far as applications are concerned. Case in point: if you examine the JNA project, they provide separate binary jars for FreeBSD and for OpenBSD. Those jar files contain |
Update: since there's no objection, I'm now submitting PRs to various Eclipse repositories for this issue. Here's the central TODO list to keep track of various tasks done and/or under way:
eclipse.jdt.debug
submoduleeclipse.jdt.ui
submoduleeclipse.pde
submoduleeclipse.platform
submoduleREADME
file for x86_64 and/or for aarch64.eclipse.platform.swt
submoduleREADME
file for x86_64 and/or for aarch64.eclipse.platform.ui
submoduleequinox
submoduleREADME
file for x86_64 and/or for aarch64.equinox.p2
submoduleeclipse.platform.releng.aggregator
supermoduleAs discussed in #2275
I have been enhancing and building the Eclipse SDKs for FreeBSD in my own fork, and have manually tested them regularly, and successfully, on my own FreeBSD boxes for
x86_64
and/oraarch64
architectures. It's time to submit them to the official repos, I guess. Please provide your opinions whether it's worthwhile to officially support FreeBSD builds or not.I understand that there are no FreeBSD platforms on the official build farm, so it's a bit tricky to officially compile the native binaries for FreeBSD, and thus there won't be any automated tests for the FreeBSD builds (assuming current situation for the near future.) For now, for the native compiling, I have enhanced some existing Docker container to cross-compile the C code from Linux (Alpine Linux, to be exact) to FreeBSD binaries; its README file shows details in cross-compiling the SWT and Equinox launcher binaries to FreeBSD.
If the team supports this FreeBSD build initiative. I will start submitting PRs to various submodule repos, and this issue will become the co-ordination point for the PRs. Of course, any help from the team is quite valuable and is greatly appreciated.
The text was updated successfully, but these errors were encountered: