View | Details | Raw Unified | Return to bug 200147 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-1 / +5 lines)
Lines 56-62 LD= ${CC} Link Here
56
# Don't strip binary files
56
# Don't strip binary files
57
STRIP=
57
STRIP=
58
58
59
ONLY_FOR_ARCHS=	i386 amd64
59
ONLY_FOR_ARCHS=	i386 amd64 armv6
60
CONFLICTS+=	firebird-client-2.0* firebird-server-2.0* \
60
CONFLICTS+=	firebird-client-2.0* firebird-server-2.0* \
61
		firebird-client-2.1* firebird-server-2.1*
61
		firebird-client-2.1* firebird-server-2.1*
62
62
Lines 97-102 CLIENT_BIN= gpre isql-fb qli Link Here
97
97
98
.include <bsd.port.options.mk>
98
.include <bsd.port.options.mk>
99
99
100
.if ${ARCH} == armv6
101
BUILD_DEPENDS+=	${LOCALBASE}/lib/libatomic_ops.a:${PORTSDIR}/devel/libatomic_ops
102
.endif
103
100
.if ${PORT_OPTIONS:MDOCS}
104
.if ${PORT_OPTIONS:MDOCS}
101
PORTDOCS=	*
105
PORTDOCS=	*
102
FB_DOCS_FILES=	WhatsNew README.* Firebird* ReleaseNotes.pdf ambiguity.txt \
106
FB_DOCS_FILES=	WhatsNew README.* Firebird* ReleaseNotes.pdf ambiguity.txt \
(-)files/patch-builds_posix_prefix.freebsd__arm (+35 lines)
Added Link Here
1
--- /dev/null	2015-01-26 08:33:06 UTC
2
+++ builds/posix/prefix.freebsd_arm
3
@@ -0,0 +1,32 @@
4
+# The contents of this file are subject to the Interbase Public
5
+# License Version 1.0 (the "License"); you may not use this file
6
+# except in compliance with the License. You may obtain a copy
7
+# of the License at http://www.Inprise.com/IPL.html
8
+#
9
+# Software distributed under the License is distributed on an
10
+# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
11
+# or implied. See the License for the specific language governing
12
+# rights and limitations under the License.
13
+#
14
+# The Original Code was created by Inprise Corporation
15
+# and its predecessors. Portions created by Inprise Corporation are
16
+#
17
+# Copyright (C) 2000 Inprise Corporation
18
+# All Rights Reserved.
19
+# Contributor(s): ______________________________________.
20
+# Start of file prefix.freebsd:        $(VERSION)      @PLATFORM@
21
+#
22
+# 2 Oct 2002, Nickolay Samofatov - Major Cleanup
23
+
24
+OS_ServerFiles=inet_server.cpp
25
+
26
+LINK_OPTS+=-Wl,-rpath,../gen/firebird/lib
27
+
28
+PROD_FLAGS=-O3 -DNDEBUG -DFREEBSD -DARM -pipe -MMD -fPIC -fsigned-char -fmessage-length=0
29
+DEV_FLAGS=-ggdb -DFREEBSD -DARM -pipe -MMD -p -fPIC -Wall -Wno-non-virtual-dtor
30
+EMBED_UTIL_TARGETS=gstat gsec fbguard nbackup fb_lock_print fbsvcmgr fbtracemgr
31
+CLIENT_UTIL_TARGETS=gstat gsec fbguard nbackup fb_lock_print fbsvcmgr fbtracemgr
32
+
33
+Physical_IO_Module=os/posix/unix.cpp
34
+# This is needed due to broken port of gcc
35
+STATIC_CXXSUPPORT_LIB = -lstdc++ -lgcc_s
(-)files/patch-configure (+23 lines)
Added Link Here
1
--- configure.orig	2015-01-26 11:36:59.058272399 +0100
2
+++ configure	2015-01-26 15:21:38.553343523 +0100
3
@@ -2454,6 +2454,20 @@
4
     SHRLIB_EXT=so
5
     ;;
6
 
7
+  arm*-*-freebsd*)
8
+    MAKEFILE_PREFIX=freebsd_arm
9
+    INSTALL_PREFIX=freebsd
10
+    PLATFORM=FREEBSD
11
+    #ATOMIC_LIBS=-latomic_ops
12
+
13
+cat >>confdefs.h <<\_ACEOF
14
+#define FREEBSD 1
15
+_ACEOF
16
+
17
+    EDITLINE_FLG=Y
18
+    SHRLIB_EXT=so
19
+    ;;
20
+
21
   *-gentoo-freebsd*)
22
     MAKEFILE_PREFIX=freebsd
23
     PLATFORM=GENTOOFREEBSD
(-)files/patch-configure.in (+19 lines)
Added Link Here
1
--- configure.in.orig	2014-12-04 12:18:19.000000000 +0100
2
+++ configure.in	2015-01-26 15:19:52.944351078 +0100
3
@@ -140,6 +140,16 @@
4
     SHRLIB_EXT=so
5
     ;;
6
 
7
+  arm*-*-freebsd*)
8
+    MAKEFILE_PREFIX=freebsd_arm
9
+    INSTALL_PREFIX=freebsd
10
+    PLATFORM=FREEBSD
11
+    #ATOMIC_LIBS=-latomic_ops
12
+    AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
13
+    EDITLINE_FLG=Y
14
+    SHRLIB_EXT=so
15
+    ;;
16
+
17
   *-gentoo-freebsd*)
18
     MAKEFILE_PREFIX=freebsd
19
     PLATFORM=GENTOOFREEBSD
(-)firebird25-server/files/patch-src_jrd_common.h (+18 lines)
Added Link Here
1
--- src/jrd/common.h.orig	2014-12-04 11:18:19 UTC
2
+++ src/jrd/common.h
3
@@ -259,10 +259,14 @@
4
 
5
 #ifdef AMD64
6
 #define IMPLEMENTATION  isc_info_db_impl_freebsd_amd64 /* 67 */
7
-#else
8
+#endif
9
+#ifdef i386
10
 #define I386
11
 #define IMPLEMENTATION    isc_info_db_impl_freebsd   /* 61 */
12
 #endif
13
+#ifdef ARM
14
+#define IMPLEMENTATION  isc_info_db_impl_freebsd_arm	// 85
15
+#endif /* ARM */
16
 
17
 #define QUADFORMAT "ll"
18
 #define QUADCONST(n) (n##LL)
(-)files/patch-src_jrd_inf__pub.h (+11 lines)
Added Link Here
1
--- src/jrd/inf_pub.h.orig	2014-12-04 11:18:19 UTC
2
+++ src/jrd/inf_pub.h
3
@@ -217,6 +217,8 @@ enum  info_db_implementations
4
 	isc_info_db_impl_linux_alpha = 83,
5
 	isc_info_db_impl_linux_arm64 = 84,
6
 
7
+	isc_info_db_impl_freebsd_arm = 85,
8
+
9
 	isc_info_db_impl_last_value   // Leave this LAST!
10
 };
11
 
(-)files/patch-src_jrd_pag.cpp (+33 lines)
Added Link Here
1
--- src/jrd/pag.cpp.orig	2014-12-04 11:18:23 UTC
2
+++ src/jrd/pag.cpp
3
@@ -164,9 +164,10 @@ static const int CLASS_LINUX_SHEB = 39;	
4
 static const int CLASS_LINUX_HPPA = 40;		// LINUX/HPPA
5
 static const int CLASS_LINUX_ALPHA = 41;	// LINUX/ALPHA
6
 static const int CLASS_LINUX_ARM64 = 42;	// LINUX/ARM64
7
+static const int CLASS_FREEBSD_ARM = 43;	// FREEBSD/ARM
8
 
9
 static const int CLASS_MAX10 = CLASS_LINUX_AMD64;	// This should not be changed, no new ports with ODS10
10
-static const int CLASS_MAX = CLASS_LINUX_ARM64;
11
+static const int CLASS_MAX = CLASS_FREEBSD_ARM;
12
 
13
 // ARCHITECTURE COMPATIBILITY CLASSES
14
 
15
@@ -266,7 +267,8 @@ static const ArchitectureType archMatrix
16
 	archBigEndian,    // CLASS_LINUX_SHEB
17
 	archBigEndian,    // CLASS_LINUX_HPPA
18
 	archLittleEndian, // CLASS_LINUX_ALPHA
19
-	archLittleEndian  // CLASS_LINUX_ARM64
20
+	archLittleEndian, // CLASS_LINUX_ARM64
21
+	archLittleEndian  // CLASS_FREEBSD_ARM
22
 };
23
 
24
 #ifdef __sun
25
@@ -342,6 +344,8 @@ const SSHORT CLASS		= CLASS_LINUX_ALPHA;
26
 const SSHORT CLASS		= CLASS_FREEBSD_I386;
27
 #elif defined(AMD64)
28
 const SSHORT CLASS		= CLASS_FREEBSD_AMD64;
29
+#elif defined(ARM)
30
+const SSHORT CLASS		= CLASS_FREEBSD_ARM;
31
 #else
32
 #error no support on other hardware for FreeBSD
33
 #endif

Return to bug 200147