Skip to content

Commit

Permalink
Bring in FreeBSD support
Browse files Browse the repository at this point in the history
Check for FreeBSD specific issues, it is mostly the same as Darwin.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
  • Loading branch information
dankm committed Mar 2, 2017
1 parent 25c55cd commit f2f782d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 15 deletions.
3 changes: 3 additions & 0 deletions scripts/build/internals.sh
Expand Up @@ -17,6 +17,9 @@ do_finish() {
*darwin*)
strip_args=""
;;
*freebsd*)
strip_args="--strip-all"
;;
*)
strip_args="--strip-all -v"
;;
Expand Down
32 changes: 18 additions & 14 deletions scripts/build/kernel/linux.sh
Expand Up @@ -103,24 +103,28 @@ do_kernel_headers() {
esac

CT_DoLog EXTRA "Installing kernel headers"
CT_DoExecLog ALL \
make -C "${kernel_path}" \
CROSS_COMPILE="${CT_TARGET}-" \
O="${CT_BUILD_DIR}/build-kernel-headers" \
ARCH=${kernel_arch} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
CT_DoExecLog ALL \
make -C "${kernel_path}" \
BASH="$(which bash)" \
HOSTCC="${CT_BUILD}-gcc" \
CROSS_COMPILE="${CT_TARGET}-" \
O="${CT_BUILD_DIR}/build-kernel-headers" \
ARCH=${kernel_arch} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
headers_install

if [ "${CT_KERNEL_LINUX_INSTALL_CHECK}" = "y" ]; then
CT_DoLog EXTRA "Checking installed headers"
CT_DoExecLog ALL \
make -C "${kernel_path}" \
CROSS_COMPILE="${CT_TARGET}-" \
O="${CT_BUILD_DIR}/build-kernel-headers" \
ARCH=${kernel_arch} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
CT_DoExecLog ALL \
make -C "${kernel_path}" \
BASH="$(which bash)" \
HOSTCC="${CT_BUILD}-gcc" \
CROSS_COMPILE="${CT_TARGET}-" \
O="${CT_BUILD_DIR}/build-kernel-headers" \
ARCH=${kernel_arch} \
INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \
${V_OPT} \
headers_check
fi

Expand Down
10 changes: 9 additions & 1 deletion scripts/build/libc/glibc.sh
Expand Up @@ -346,13 +346,21 @@ do_libc_backend_once() {
build_ldflags="${CT_LDFLAGS_FOR_BUILD}"

case "$CT_BUILD" in
*mingw*|*cygwin*|*msys*|*darwin*)
*mingw*|*cygwin*|*msys*|*darwin*|*freebsd*)
# When installing headers on Cygwin, Darwin, MSYS2 and MinGW-w64 sunrpc needs
# gettext for building cross-rpcgen.
build_cppflags="${build_cppflags} -I${CT_BUILDTOOLS_PREFIX_DIR}/include/"
build_ldflags="${build_ldflags} -lintl -liconv"
case "$CT_BUILD" in
*cygwin*|*freebsd*)
# Additionally, stat in FreeBSD, Cygwin, and possibly others
# is always 64bit, so replace struct stat64 with stat.
build_cppflags="${build_cppflags} -Dstat64=stat"
;;
esac
;;
esac

extra_make_args+=( "BUILD_CFLAGS=${build_cflags}" )
extra_make_args+=( "BUILD_CPPFLAGS=${build_cppflags}" )
extra_make_args+=( "BUILD_LDFLAGS=${build_ldflags}" )
Expand Down

0 comments on commit f2f782d

Please sign in to comment.