From 82e167b81a41099de36d97801f9d5d9da8c6d818 Mon Sep 17 00:00:00 2001 From: Piotr Kubaj Date: Wed, 25 Nov 2020 17:50:22 +0000 Subject: MFH: r556299 lang/quickjs: fix build on GCC architectures Don't use Clang if we need to use GCC PR: 251030 Approved by: yuri (maintainer timeout) Approved by: portmgr (fix build blanket) --- lang/quickjs/Makefile | 14 +++++++++-- lang/quickjs/files/extra-clang-patch-Makefile | 25 +++++++++++++++++++ lang/quickjs/files/extra-gcc-patch-Makefile | 36 +++++++++++++++++++++++++++ lang/quickjs/files/patch-Makefile | 25 ------------------- 4 files changed, 73 insertions(+), 27 deletions(-) create mode 100644 lang/quickjs/files/extra-clang-patch-Makefile create mode 100644 lang/quickjs/files/extra-gcc-patch-Makefile delete mode 100644 lang/quickjs/files/patch-Makefile diff --git a/lang/quickjs/Makefile b/lang/quickjs/Makefile index 4de59e6fcbb7..57d07ac893ff 100644 --- a/lang/quickjs/Makefile +++ b/lang/quickjs/Makefile @@ -11,6 +11,16 @@ COMMENT= Embeddable Javascript interpreter in C LICENSE= MIT -USES= gmake tar:xz +USES= compiler:c11 gmake tar:xz -.include +EXTRA_PATCHES= ${FILESDIR}/extra-${CHOSEN_COMPILER_TYPE}-patch-Makefile + +.include + +.if ${CHOSEN_COMPILER_TYPE} == gcc +post-patch: + @${REINPLACE_CMD} -e 's/%%GCC_DEFAULT%%/${GCC_DEFAULT}/' \ + ${WRKSRC}/Makefile +.endif + +.include diff --git a/lang/quickjs/files/extra-clang-patch-Makefile b/lang/quickjs/files/extra-clang-patch-Makefile new file mode 100644 index 000000000000..d4014c7285af --- /dev/null +++ b/lang/quickjs/files/extra-clang-patch-Makefile @@ -0,0 +1,25 @@ +--- Makefile.orig 2019-09-18 18:34:20 UTC ++++ Makefile +@@ -25,6 +25,9 @@ + ifeq ($(shell uname -s),Darwin) + CONFIG_DARWIN=y + endif ++ifeq ($(shell uname -s),FreeBSD) ++CONFIG_FREEBSD=y ++endif + # Windows cross compilation from Linux + #CONFIG_WIN32=y + # use link time optimization (smaller and faster executables but slower build) +@@ -38,6 +41,12 @@ ifdef CONFIG_DARWIN + # use clang instead of gcc + CONFIG_CLANG=y + CONFIG_DEFAULT_AR=y ++endif ++ifdef CONFIG_FREEBSD ++# use clang instead of gcc ++CONFIG_CLANG=y ++CONFIG_DEFAULT_AR=y ++CONFIG_LTO= + endif + + # installation directory diff --git a/lang/quickjs/files/extra-gcc-patch-Makefile b/lang/quickjs/files/extra-gcc-patch-Makefile new file mode 100644 index 000000000000..bdaf4f8a3c7d --- /dev/null +++ b/lang/quickjs/files/extra-gcc-patch-Makefile @@ -0,0 +1,36 @@ +--- Makefile.orig 2020-09-06 09:31:51 UTC ++++ Makefile +@@ -25,6 +25,9 @@ + ifeq ($(shell uname -s),Darwin) + CONFIG_DARWIN=y + endif ++ifeq ($(shell uname -s),FreeBSD) ++CONFIG_FREEBSD=y ++endif + # Windows cross compilation from Linux + #CONFIG_WIN32=y + # use link time optimization (smaller and faster executables but slower build) +@@ -39,6 +42,12 @@ ifdef CONFIG_DARWIN + CONFIG_CLANG=y + CONFIG_DEFAULT_AR=y + endif ++ifdef CONFIG_FREEBSD ++# use clang instead of gcc ++CONFIG_CLANG= ++CONFIG_DEFAULT_AR=y ++CONFIG_LTO= ++endif + + # installation directory + prefix=/usr/local +@@ -81,8 +90,8 @@ ifdef CONFIG_CLANG + endif + endif + else +- HOST_CC=gcc +- CC=$(CROSS_PREFIX)gcc ++ HOST_CC=gcc%%GCC_DEFAULT%% ++ CC=$(CROSS_PREFIX)gcc%%GCC_DEFAULT%% + CFLAGS=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d + CFLAGS += -Wno-array-bounds -Wno-format-truncation + ifdef CONFIG_LTO diff --git a/lang/quickjs/files/patch-Makefile b/lang/quickjs/files/patch-Makefile deleted file mode 100644 index d4014c7285af..000000000000 --- a/lang/quickjs/files/patch-Makefile +++ /dev/null @@ -1,25 +0,0 @@ ---- Makefile.orig 2019-09-18 18:34:20 UTC -+++ Makefile -@@ -25,6 +25,9 @@ - ifeq ($(shell uname -s),Darwin) - CONFIG_DARWIN=y - endif -+ifeq ($(shell uname -s),FreeBSD) -+CONFIG_FREEBSD=y -+endif - # Windows cross compilation from Linux - #CONFIG_WIN32=y - # use link time optimization (smaller and faster executables but slower build) -@@ -38,6 +41,12 @@ ifdef CONFIG_DARWIN - # use clang instead of gcc - CONFIG_CLANG=y - CONFIG_DEFAULT_AR=y -+endif -+ifdef CONFIG_FREEBSD -+# use clang instead of gcc -+CONFIG_CLANG=y -+CONFIG_DEFAULT_AR=y -+CONFIG_LTO= - endif - - # installation directory -- cgit v1.2.3