From f7fb6e49f214e8a38698bab4d33551addbc04439 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 May 2016 23:47:09 +0200 Subject: [PATCH] build: allow to build LEDE on latest MacOS X Latest Xcode doesn't include openssl anymore. To compile mkimage from u-boot source you need SSL headers on your host. This patch provides libressl host package for any Darwin compilation. Unfortunately openssl from MacPorts can not be used, as the installed headers in /opt/local are breaking GDB compilation. Tested with a RB532 image build and resulting kernel booted on a device via TFTP. Signed-off-by: Waldemar Brodkorb Signed-off-by: Felix Fietkau [fixes, dependencies] --- include/prereq-build.mk | 5 +++++ tools/Makefile | 5 +++++ tools/libressl/Makefile | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 tools/libressl/Makefile diff --git a/include/prereq-build.mk b/include/prereq-build.mk index 0e145c939b0..42b624f817a 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -71,10 +71,13 @@ $(eval $(call TestHostCommand,zlib, \ echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \ gcc -include zlib.h -x c -o $(TMP_DIR)/a.out - $(zlib_link_flags))) +# Xcode deprecated openssl, MacPorts doesn't work nicely for other packages +ifneq ($(HOST_OS),Darwin) $(eval $(call TestHostCommand,libssl, \ Please install the openssl library (with development headers), \ echo 'int main(int argc, char **argv) { SSL_library_init(); return 0; }' | \ gcc $(HOST_CFLAGS) -include openssl/ssl.h -x c -o $(TMP_DIR)/a.out - -lcrypto -lssl $(HOST_LDFLAGS))) +endif $(eval $(call TestHostCommand,perl-thread-queue, \ Please install the Perl Thread::Queue module, \ @@ -160,8 +163,10 @@ $(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \ $(eval $(call SetupHostCommand,file,Please install the 'file' package, \ file --version 2>&1 | grep file)) +ifneq ($(HOST_OS),Darwin) $(eval $(call SetupHostCommand,openssl,Please install the 'openssl' utility, \ openssl version | grep '\(OpenSSL\|LibreSSL\)')) +endif # Install ldconfig stub diff --git a/tools/Makefile b/tools/Makefile index 187655e7fd9..690e13c0ae8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -77,6 +77,11 @@ $(curdir)/bc/compile := $(curdir)/bison/install $(curdir)/findutils/compile := $(curdir)/bison/install $(curdir)/gengetopt/compile := $(curdir)/libtool/install $(curdir)/patchelf/compile := $(curdir)/libtool/install +ifeq ($(HOST_OS),Darwin) +tools-y += libressl +$(curdir)/mkimage/compile += $(curdir)/libressl/install +$(curdir)/firmware-utils/compile += $(curdir)/libressl/install +endif ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),) $(foreach tool, $(filter-out patch,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/install)) diff --git a/tools/libressl/Makefile b/tools/libressl/Makefile new file mode 100644 index 00000000000..bdf34d31387 --- /dev/null +++ b/tools/libressl/Makefile @@ -0,0 +1,22 @@ +# +# Copyright (C) 2016 LEDE project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libressl +PKG_VERSION:=2.3.4 +PKG_MD5SUM:=b81d990b7eceb156df6eaa7e9f4a353e +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ + +HOST_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/host-build.mk + +$(eval $(call HostBuild))