From 60075df3cf72c03547348a5d869ac7de83798f0a Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Mon, 11 Nov 2024 14:19:58 +0100 Subject: [PATCH] Support deb10-x86_64 as a Host arch (allow to build modules on the system) --- configure/os/CONFIG.Common.deb10-x86_64 | 17 +++++--- configure/os/CONFIG.deb10-x86_64.Common | 3 ++ configure/os/CONFIG.deb10-x86_64.deb10-x86_64 | 3 ++ epics-base.spec | 39 ++++++++++++++++++- 4 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 configure/os/CONFIG.deb10-x86_64.Common create mode 100644 configure/os/CONFIG.deb10-x86_64.deb10-x86_64 diff --git a/configure/os/CONFIG.Common.deb10-x86_64 b/configure/os/CONFIG.Common.deb10-x86_64 index b1bf78f93..74d423e8f 100644 --- a/configure/os/CONFIG.Common.deb10-x86_64 +++ b/configure/os/CONFIG.Common.deb10-x86_64 @@ -1,11 +1,16 @@ -# Cross Debian 10 with gcc 8.3 +# Debian 10 # Include definitions common to all Linux targets -include $(CONFIG)/os/CONFIG.Common.linuxCommon +include $(CONFIG)/os/CONFIG.Common.linux-x86_64 -ARCH_CLASS = x86_64 - -GNU_DIR = /opt/xgcc/gcc-8.3.0-deb10 -GNU_TARGET = x86_64-deb10-linux-gnu +BUILD_CLASS = HOST STD_CXXFLAGS = -std=c++17 + +ifneq ($(EPICS_HOST_ARCH),$(T_A)) +# Cross compile +GNU_DIR = /opt/xgcc/gcc-8.3.0-deb10 +GNU_TARGET = x86_64-deb10-linux-gnu +SYSROOT = $(GNU_DIR)/$(GNU_TARGET)/sys-root +CMPLR_PREFIX = $(GNU_TARGET)- +endif diff --git a/configure/os/CONFIG.deb10-x86_64.Common b/configure/os/CONFIG.deb10-x86_64.Common new file mode 100644 index 000000000..26c65b727 --- /dev/null +++ b/configure/os/CONFIG.deb10-x86_64.Common @@ -0,0 +1,3 @@ +#CONFIG.$(EPICS_HOST_ARCH).Common is required by build system +#Include definitions common to linux hosts +include $(CONFIG)/os/CONFIG.linux-x86_64.Common diff --git a/configure/os/CONFIG.deb10-x86_64.deb10-x86_64 b/configure/os/CONFIG.deb10-x86_64.deb10-x86_64 new file mode 100644 index 000000000..f6983dd33 --- /dev/null +++ b/configure/os/CONFIG.deb10-x86_64.deb10-x86_64 @@ -0,0 +1,3 @@ +# Include common linux definitions +include $(CONFIG)/os/CONFIG.linux-x86.linux-x86 +GNU_DIR=/usr diff --git a/epics-base.spec b/epics-base.spec index c083fff29..03e74f74c 100644 --- a/epics-base.spec +++ b/epics-base.spec @@ -334,19 +334,52 @@ fi ########################################### %files boot +# including files to build on some Linux cross archs +# hence some configure/* and lib/perl/* listed twice %defattr(-,root,root,-) %dir %{prog_folder} %dir %{prog_folder}/configure -%{prog_folder}/configure/CONFIG_BASE_VERSION +%{prog_folder}/configure/RELEASE +%{prog_folder}/configure/CONFIG* +%{prog_folder}/configure/RULES* +%dir %{prog_folder}/configure/os +%{prog_folder}/configure/os/CONFIG.Common.UnixCommon +%{prog_folder}/configure/os/CONFIG.Common.linuxCommon +%{prog_folder}/configure/os/CONFIG.Common.linux-clang +%{prog_folder}/configure/os/CONFIG.Common.linux-%{_host_cpu}* +%{prog_folder}/configure/os/CONFIG.Common.[a-z]*-* +%{prog_folder}/configure/os/CONFIG.UnixCommon.Common +%{prog_folder}/configure/os/CONFIG.[a-z]*-*.Common +%{prog_folder}/configure/os/CONFIG.[a-z]*-*.[a-z]*-* +%{prog_folder}/configure/os/CONFIG.linux-*.Common +%{prog_folder}/configure/os/CONFIG.linux-*.linux-* +%{prog_folder}/configure/os/CONFIG_SITE.Common.linuxCommon +%{prog_folder}/configure/os/CONFIG_SITE.Common.linux-* +%{prog_folder}/configure/os/CONFIG_SITE.[a-z]*-*.Common +%{prog_folder}/configure/os/CONFIG_SITE.linux-*.Common +%{prog_folder}/configure/os/CONFIG_SITE.linux-*.UnixCommon +%{prog_folder}/configure/os/CONFIG_SITE.linux-*.linux-* + +%dir %{prog_folder}/include +%{prog_folder}/include/*.h +%{prog_folder}/include/compiler +%dir %{prog_folder}/include/os +%{prog_folder}/include/os/Linux/ +%{prog_folder}/include/pv/ +%{prog_folder}/include/pva/ +%{prog_folder}/include/valgrind/ +%{prog_folder}/include/flex.skel.static %dir %{prog_folder}/dbd %{prog_folder}/dbd/softIoc*.dbd %{prog_folder}/db %dir %{prog_folder}/lib -# avoid pulling in pkgconfig and perl %dir %{prog_folder}/lib/[a-z]*-* %{prog_folder}/lib/[a-z]*-*/*.so* +%dir %{prog_folder}/lib/perl +%{prog_folder}/lib/perl/EPICS +%{prog_folder}/lib/perl/DBD* %dir %{prog_folder}/bin # avoid pulling in host files again @@ -354,9 +387,11 @@ fi # including all Windows dlls (hence listed twice: here and in wine) %dir %{prog_folder}/bin/[a-z]* %{prog_folder}/bin/[a-z]*/[Scips]*[^.]?? +%{prog_folder}/bin/[a-z]*/p2p %{prog_folder}/bin/[a-z]*/msi* %{prog_folder}/bin/[a-z]*/acctst* %{prog_folder}/bin/[a-z]*/*.dll +%{prog_folder}/bin/[a-z]*/registerRecordDeviceDriver* # vxWorks and RTEMS %dir %{prog_folder}/bin/V*