From 03a7a2fdeb7f8904902333635f1d17e1d51385bb Mon Sep 17 00:00:00 2001 From: Catalin Toda Date: Wed, 7 Jun 2023 03:15:18 -0700 Subject: [PATCH] Use clang for arm/x86 with static binary and zig cc for mips #1107 --- .github/workflows/binaries.yml | 12 ++++++------ configure | 17 ++--------------- configure.ac | 9 +-------- src/Makefile.in | 7 ++++--- src/netceiver.c | 1 + src/netceiver.h | 2 +- 6 files changed, 15 insertions(+), 33 deletions(-) diff --git a/.github/workflows/binaries.yml b/.github/workflows/binaries.yml index 3973779cf9..a2b9d536fd 100644 --- a/.github/workflows/binaries.yml +++ b/.github/workflows/binaries.yml @@ -1,9 +1,9 @@ name: Binaries on: push: - branches: [ master ] + branches: [ master, next ] pull_request: - branches: [ master ] + branches: [ master, next ] jobs: build: @@ -16,14 +16,14 @@ jobs: fetch-depth: '0' - name: Build x64 run: | - ./configure --enable-static + ./configure --enable-static CC="clang" make DDCI=1 zip -9 -r /minisatip_x64.zip minisatip html - name: Build ARM run: | make clean - ./configure --enable-static --host=arm-linux-gnueabihf + ./configure --enable-static --host=arm-linux-gnueabihf CC="clang -target arm-linux-gnueabihf" make zip -9 -r /minisatip_arm.zip minisatip html @@ -37,8 +37,8 @@ jobs: - name: Build MIPS run: | make clean - ./configure --enable-static --host=mipsel-tuxbox-linux-gnu - make + ./configure --enable-static --host=mipsel-linux-gnu CC="zig cc -target mipsel-linux-gnueabihf.2.34" + make EXTRA_CFLAGS="-I/sysroot/mipsel/include -L/sysroot/mipsel/lib" zip -9 -r /minisatip_mips.zip minisatip html diff --git a/configure b/configure index dbccce9d14..08c5398ab5 100755 --- a/configure +++ b/configure @@ -721,7 +721,6 @@ enable_linuxdvb enable_dvbca enable_dvbcsa enable_netcv -with_mcli with_xml2 enable_satipc enable_static @@ -1371,8 +1370,6 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-mcli specify vdr-mcli-plugin directory - default=../../vdr-mcli-plugin --with-xml2 specify libxml2 directory default=/usr/include/libxml2 @@ -4463,18 +4460,9 @@ then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: == Checking NETCVCLIENT == " >&5 printf "%s\n" "$as_me: == Checking NETCVCLIENT == " >&6;} -mcli_dir="../../vdr-mcli-plugin" xml2_dir="/usr/include/libxml2" -# Check whether --with-mcli was given. -if test ${with_mcli+y} -then : - withval=$with_mcli; mcli_dir=$with_mcli -fi - - - # Check whether --with-xml2 was given. if test ${with_xml2+y} then : @@ -4482,8 +4470,7 @@ then : fi -CFLAGS="-I. -I$mcli_dir/mcast/client -I$mcli_dir/mcast/common -L$mcli_dir/mcast/client -I$xml2_dir" -CPPFLAGS="-I. -I$mcli_dir/mcast/client -I$mcli_dir/mcast/common -L$mcli_dir/mcast/client -I$xml2_dir" +CFLAGS="-I$xml2_dir" cd src for ac_header in netceiver.h @@ -4620,7 +4607,7 @@ then : fi ac_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -fsanitize=bounds -fsanitize-undefined-trap-on-error" +CFLAGS="$CFLAGS -fsanitize=bounds -fsanitize-trap=all" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ diff --git a/configure.ac b/configure.ac index 24cf025c93..b0cc7e926f 100755 --- a/configure.ac +++ b/configure.ac @@ -114,21 +114,14 @@ AC_ARG_ENABLE([netcv], AS_IF([test "x$enable_netcv" != "xno"], [ AC_MSG_NOTICE([ == Checking NETCVCLIENT == ]) -mcli_dir="../../vdr-mcli-plugin" xml2_dir="/usr/include/libxml2" -AC_ARG_WITH([mcli], - [AS_HELP_STRING([--with-mcli], - [specify vdr-mcli-plugin directory default=../../vdr-mcli-plugin])], - [mcli_dir=$with_mcli]) - AC_ARG_WITH([xml2], [AS_HELP_STRING([--with-xml2], [specify libxml2 directory default=/usr/include/libxml2])], [xml2_dir=$with_xml2]) -CFLAGS="-I. -I$mcli_dir/mcast/client -I$mcli_dir/mcast/common -L$mcli_dir/mcast/client -I$xml2_dir" -CPPFLAGS="-I. -I$mcli_dir/mcast/client -I$mcli_dir/mcast/common -L$mcli_dir/mcast/client -I$xml2_dir" +CFLAGS="-I$xml2_dir" cd src AC_CHECK_HEADERS([netceiver.h],[NETCVCLIENT=1],[NETCVCLIENT=0]) diff --git a/src/Makefile.in b/src/Makefile.in index 634b0ba5dd..79ff4da970 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -106,7 +106,7 @@ endif ifeq ($(NETCVCLIENT),1) SOURCES+=netceiver.c -LDFLAGS+=-lmcli -lxml2 +LDFLAGS+=-lnetceiver -lxml2 else CFLAGS+=-DDISABLE_NETCVCLIENT endif @@ -138,9 +138,10 @@ CFLAGS-$(DEBUG) += -fsanitize=address -fno-omit-frame-pointer -fsanitize=leak -f ifeq ($(STATIC),1) -LDFLAGS+=$(addsuffix .a,$(addprefix -l:lib,$(LIBS))) + CFLAGS+=-static + LDFLAGS+=$(addsuffix .a,$(addprefix -l:lib,$(LIBS))) else -LDFLAGS+=$(addprefix -l,$(LIBS)) + LDFLAGS+=$(addprefix -l,$(LIBS)) endif SOURCES+=$(SOURCES-1) diff --git a/src/netceiver.c b/src/netceiver.c index 2a8902d7ff..90b4705022 100644 --- a/src/netceiver.c +++ b/src/netceiver.c @@ -28,6 +28,7 @@ #include #include #include +#include "utils/alloc.h" #define DEFAULT_LOG LOG_NETCEIVER diff --git a/src/netceiver.h b/src/netceiver.h index 2fdc6ece3a..c6521ab8e8 100644 --- a/src/netceiver.h +++ b/src/netceiver.h @@ -6,7 +6,7 @@ #define API_SOCK #ifndef DISABLE_LINUXDVB #undef AOT_CA_PMT -#include "headers.h" +#include "libnetceiver/netcv/headers.h" #else #include "netceiver_mcli_defs.h" #endif