Skip to content

Commit eedb74d

Browse files
committed
Add FreeBSD platforms' build.
- 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.
1 parent e16edfe commit eedb74d

File tree

28 files changed

+817
-8
lines changed

28 files changed

+817
-8
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>org.eclipse.core.filesystem.freebsd.aarch64</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.pde.ManifestBuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.pde.SchemaBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
</buildSpec>
19+
<natures>
20+
<nature>org.eclipse.pde.PluginNature</nature>
21+
</natures>
22+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
encoding/<project>=UTF-8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
line.separator=\n
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Manifest-Version: 1.0
2+
Bundle-ManifestVersion: 2
3+
Bundle-Name: %fragmentName
4+
Bundle-SymbolicName: org.eclipse.core.filesystem.freebsd.aarch64;singleton:=true
5+
Bundle-Version: 1.2.400.qualifier
6+
Bundle-Vendor: %providerName
7+
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
8+
Bundle-Localization: fragment
9+
Eclipse-PlatformFilter: (& (osgi.os=freebsd) (osgi.arch=aarch64))
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml">
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
6+
<title>About</title>
7+
</head>
8+
<body lang="EN-US">
9+
<h2>About This Content</h2>
10+
11+
<p>November 30, 2017</p>
12+
<h3>License</h3>
13+
14+
<p>
15+
The Eclipse Foundation makes available all content in this plug-in
16+
(&quot;Content&quot;). Unless otherwise indicated below, the Content
17+
is provided to you under the terms and conditions of the Eclipse
18+
Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
19+
available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
20+
For purposes of the EPL, &quot;Program&quot; will mean the Content.
21+
</p>
22+
23+
<p>
24+
If you did not receive this Content directly from the Eclipse
25+
Foundation, the Content is being redistributed by another party
26+
(&quot;Redistributor&quot;) and different terms and conditions may
27+
apply to your use of any object code in the Content. Check the
28+
Redistributor's license that was provided with the Content. If no such
29+
license exists, contact the Redistributor. Unless otherwise indicated
30+
below, the terms and conditions of the EPL still apply to any source
31+
code in the Content and such source code may be obtained at <a
32+
href="http://www.eclipse.org/">http://www.eclipse.org</a>.
33+
</p>
34+
35+
</body>
36+
</html>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
###############################################################################
2+
# Copyright (c) 2014, 2025 IBM Corporation and others.
3+
#
4+
# This program and the accompanying materials
5+
# are made available under the terms of the Eclipse Public License 2.0
6+
# which accompanies this distribution, and is available at
7+
# https://www.eclipse.org/legal/epl-2.0/
8+
#
9+
# SPDX-License-Identifier: EPL-2.0
10+
#
11+
# Contributors:
12+
# IBM Corporation - initial API and implementation
13+
# Tue Ton - support for FreeBSD
14+
###############################################################################
15+
bin.includes = META-INF/,\
16+
about.html,\
17+
os/,\
18+
fragment.properties
19+
src.includes = about.html
20+
generateSourceBundle=false
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
###############################################################################
2+
# Copyright (c) 2014, 2025 IBM Corporation and others.
3+
#
4+
# This program and the accompanying materials
5+
# are made available under the terms of the Eclipse Public License 2.0
6+
# which accompanies this distribution, and is available at
7+
# https://www.eclipse.org/legal/epl-2.0/
8+
#
9+
# SPDX-License-Identifier: EPL-2.0
10+
#
11+
# Contributors:
12+
# IBM Corporation - initial API and implementation
13+
# Tue Ton - support for FreeBSD
14+
###############################################################################
15+
fragmentName = Core File System for FreeBSD Aarch64 bit
16+
providerName = Eclipse.org

resources/bundles/org.eclipse.core.filesystem.freebsd.aarch64/os/freebsd/aarch64/.gitignore

Whitespace-only changes.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Copyright (c) 2012, 2025 Eclipse Foundation and others.
4+
All rights reserved. This program and the accompanying materials
5+
are made available under the terms of the Eclipse Distribution License v1.0
6+
which accompanies this distribution, and is available at
7+
http://www.eclipse.org/org/documents/edl-v10.php
8+
9+
Contributors:
10+
Igor Fedorenko - initial implementation
11+
Tue Ton - support for FreeBSD
12+
-->
13+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
14+
<modelVersion>4.0.0</modelVersion>
15+
<parent>
16+
<groupId>org.eclipse.platform</groupId>
17+
<artifactId>eclipse.platform.resources</artifactId>
18+
<version>4.36.0-SNAPSHOT</version>
19+
<relativePath>../../</relativePath>
20+
</parent>
21+
<artifactId>org.eclipse.core.filesystem.freebsd.aarch64</artifactId>
22+
<version>1.2.400-SNAPSHOT</version>
23+
<packaging>eclipse-plugin</packaging>
24+
25+
<profiles>
26+
<profile>
27+
<id>build-natives</id>
28+
<activation>
29+
<property>
30+
<!-- This has to be hardcoded. Profiles are not allowed to use pom defined properties :-( -->
31+
<name>native</name>
32+
<value>gtk.freebsd.aarch64</value>
33+
</property>
34+
</activation>
35+
<build>
36+
<plugins>
37+
<plugin>
38+
<artifactId>maven-antrun-plugin</artifactId>
39+
<executions>
40+
<execution>
41+
<id>natives</id>
42+
<phase>process-resources</phase>
43+
<configuration>
44+
<target>
45+
<exec executable="gmake" newenvironment="false" dir="../org.eclipse.core.filesystem/natives/unix/freebsd/"/>
46+
<mkdir dir="os/freebsd/aarch64/"/>
47+
<copy todir="os/freebsd/aarch64/">
48+
<fileset dir="../org.eclipse.core.filesystem/natives/unix/freebsd/">
49+
<include name="libunixfile_*.so"/>
50+
</fileset>
51+
</copy>
52+
</target>
53+
</configuration>
54+
<goals>
55+
<goal>run</goal>
56+
</goals>
57+
</execution>
58+
</executions>
59+
</plugin>
60+
</plugins>
61+
</build>
62+
</profile>
63+
</profiles>
64+
</project>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>org.eclipse.core.filesystem.freebsd.x86_64</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.pde.ManifestBuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.pde.SchemaBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
</buildSpec>
19+
<natures>
20+
<nature>org.eclipse.pde.PluginNature</nature>
21+
</natures>
22+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
encoding/<project>=UTF-8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
line.separator=\n
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Manifest-Version: 1.0
2+
Bundle-ManifestVersion: 2
3+
Bundle-Name: %fragmentName
4+
Bundle-SymbolicName: org.eclipse.core.filesystem.freebsd.x86_64; singleton:=true
5+
Bundle-Version: 1.2.400.qualifier
6+
Bundle-Vendor: %providerName
7+
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.7.200,2.0.0)"
8+
Bundle-Localization: fragment
9+
Eclipse-PlatformFilter: (& (osgi.os=freebsd) (osgi.arch=x86_64))
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml">
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
6+
<title>About</title>
7+
</head>
8+
<body lang="EN-US">
9+
<h2>About This Content</h2>
10+
11+
<p>November 30, 2017</p>
12+
<h3>License</h3>
13+
14+
<p>
15+
The Eclipse Foundation makes available all content in this plug-in
16+
(&quot;Content&quot;). Unless otherwise indicated below, the Content
17+
is provided to you under the terms and conditions of the Eclipse
18+
Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
19+
available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
20+
For purposes of the EPL, &quot;Program&quot; will mean the Content.
21+
</p>
22+
23+
<p>
24+
If you did not receive this Content directly from the Eclipse
25+
Foundation, the Content is being redistributed by another party
26+
(&quot;Redistributor&quot;) and different terms and conditions may
27+
apply to your use of any object code in the Content. Check the
28+
Redistributor's license that was provided with the Content. If no such
29+
license exists, contact the Redistributor. Unless otherwise indicated
30+
below, the terms and conditions of the EPL still apply to any source
31+
code in the Content and such source code may be obtained at <a
32+
href="http://www.eclipse.org/">http://www.eclipse.org</a>.
33+
</p>
34+
35+
</body>
36+
</html>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
###############################################################################
2+
# Copyright (c) 2005, 2025 IBM Corporation and others.
3+
#
4+
# This program and the accompanying materials
5+
# are made available under the terms of the Eclipse Public License 2.0
6+
# which accompanies this distribution, and is available at
7+
# https://www.eclipse.org/legal/epl-2.0/
8+
#
9+
# SPDX-License-Identifier: EPL-2.0
10+
#
11+
# Contributors:
12+
# IBM Corporation - initial API and implementation
13+
# Tue Ton - support for FreeBSD
14+
###############################################################################
15+
bin.includes = META-INF/,\
16+
about.html,\
17+
os/,\
18+
fragment.properties
19+
src.includes = about.html
20+
generateSourceBundle=false
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
###############################################################################
2+
# Copyright (c) 2005, 2025 IBM Corporation and others.
3+
#
4+
# This program and the accompanying materials
5+
# are made available under the terms of the Eclipse Public License 2.0
6+
# which accompanies this distribution, and is available at
7+
# https://www.eclipse.org/legal/epl-2.0/
8+
#
9+
# SPDX-License-Identifier: EPL-2.0
10+
#
11+
# Contributors:
12+
# IBM Corporation - initial API and implementation
13+
# Tue Ton - support for FreeBSD
14+
###############################################################################
15+
fragmentName = Core File System for FreeBSD X86_64
16+
providerName = Eclipse.org

resources/bundles/org.eclipse.core.filesystem.freebsd.x86_64/os/freebsd/x86_64/.gitignore

Whitespace-only changes.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Copyright (c) 2012, 2025 Eclipse Foundation and others.
4+
All rights reserved. This program and the accompanying materials
5+
are made available under the terms of the Eclipse Distribution License v1.0
6+
which accompanies this distribution, and is available at
7+
http://www.eclipse.org/org/documents/edl-v10.php
8+
9+
Contributors:
10+
Igor Fedorenko - initial implementation
11+
Tue Ton - support for FreeBSD
12+
-->
13+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
14+
<modelVersion>4.0.0</modelVersion>
15+
<parent>
16+
<groupId>org.eclipse.platform</groupId>
17+
<artifactId>eclipse.platform.resources</artifactId>
18+
<version>4.36.0-SNAPSHOT</version>
19+
<relativePath>../../</relativePath>
20+
</parent>
21+
<artifactId>org.eclipse.core.filesystem.freebsd.x86_64</artifactId>
22+
<version>1.2.400-SNAPSHOT</version>
23+
<packaging>eclipse-plugin</packaging>
24+
25+
<profiles>
26+
<profile>
27+
<id>build-natives</id>
28+
<activation>
29+
<property>
30+
<!-- This has to be hardcoded. Profiles are not allowed to use pom defined properties :-( -->
31+
<name>native</name>
32+
<value>gtk.freebsd.x86_64</value>
33+
</property>
34+
</activation>
35+
<build>
36+
<plugins>
37+
<plugin>
38+
<artifactId>maven-antrun-plugin</artifactId>
39+
<executions>
40+
<execution>
41+
<id>natives</id>
42+
<phase>process-resources</phase>
43+
<configuration>
44+
<target>
45+
<exec executable="gmake" newenvironment="false" dir="../org.eclipse.core.filesystem/natives/unix/freebsd/"/>
46+
<mkdir dir="os/freebsd/x86_64/"/>
47+
<copy todir="os/freebsd/x86_64/">
48+
<fileset dir="../org.eclipse.core.filesystem/natives/unix/freebsd/">
49+
<include name="libunixfile_*.so"/>
50+
</fileset>
51+
</copy>
52+
</target>
53+
</configuration>
54+
<goals>
55+
<goal>run</goal>
56+
</goals>
57+
</execution>
58+
</executions>
59+
</plugin>
60+
</plugins>
61+
</build>
62+
</profile>
63+
</profiles>
64+
</project>

0 commit comments

Comments
 (0)