Add cross-builds for linux-aarch64
This commit is contained in:
11
configure/os/CONFIG.Common.linux-aarch64
Normal file
11
configure/os/CONFIG.Common.linux-aarch64
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# CONFIG.Common.linux-aarch64
|
||||||
|
#
|
||||||
|
# Definitions for linux-arm target builds
|
||||||
|
# Override these settings in CONFIG_SITE.Common.linux-aarch64
|
||||||
|
#-------------------------------------------------------
|
||||||
|
|
||||||
|
# Include definitions common to all Linux targets
|
||||||
|
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
||||||
|
|
||||||
|
ARCH_CLASS = aarch64
|
||||||
|
|
28
configure/os/CONFIG.linux-x86_64.linux-aarch64
Normal file
28
configure/os/CONFIG.linux-x86_64.linux-aarch64
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# CONFIG.linux-x86_64.linux-aarch64
|
||||||
|
#
|
||||||
|
# Definitions for linux-x86_64 host - linux-aarch64 target builds
|
||||||
|
# Sites may override these in CONFIG_SITE.linux-x86_64.linux-aarch64
|
||||||
|
#-------------------------------------------------------
|
||||||
|
|
||||||
|
VALID_BUILDS = Ioc
|
||||||
|
GNU_TARGET = aarch64-linux
|
||||||
|
|
||||||
|
# prefix of compiler tools
|
||||||
|
CMPLR_SUFFIX =
|
||||||
|
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
|
||||||
|
|
||||||
|
# Provide a link-time path for readline if needed
|
||||||
|
OP_SYS_INCLUDES += $(READLINE_DIR:%=-I%/include)
|
||||||
|
READLINE_LDFLAGS = $(READLINE_DIR:%=-L%/lib)
|
||||||
|
RUNTIME_LDFLAGS_READLINE_YES_NO = $(READLINE_DIR:%=-Wl,-rpath,%/lib)
|
||||||
|
RUNTIME_LDFLAGS += \
|
||||||
|
$(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
|
||||||
|
SHRLIBDIR_LDFLAGS += $(READLINE_LDFLAGS)
|
||||||
|
PRODDIR_LDFLAGS += $(READLINE_LDFLAGS)
|
||||||
|
|
||||||
|
# Library flags
|
||||||
|
STATIC_LDFLAGS_YES= -Wl,-Bstatic
|
||||||
|
STATIC_LDFLAGS_NO=
|
||||||
|
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
||||||
|
STATIC_LDLIBS_NO=
|
||||||
|
|
32
configure/os/CONFIG_SITE.Common.linux-aarch64
Normal file
32
configure/os/CONFIG_SITE.Common.linux-aarch64
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# CONFIG_SITE.Common.linux-aarch64
|
||||||
|
#
|
||||||
|
# Site Specific definitions for all linux-aarch64 targets
|
||||||
|
#-------------------------------------------------------
|
||||||
|
|
||||||
|
# NOTE for SHARED_LIBRARIES: In most cases if this is set to YES the
|
||||||
|
# shared libraries will be found automatically. However if the .so
|
||||||
|
# files are installed at a different path to their compile-time path
|
||||||
|
# then in order to be found at runtime do one of these:
|
||||||
|
# a) LD_LIBRARY_PATH must include the full absolute pathname to
|
||||||
|
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
|
||||||
|
# executables.
|
||||||
|
# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
|
||||||
|
# will add the named directory to the list contained in the executables.
|
||||||
|
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
|
||||||
|
# to inform the system of the shared library location.
|
||||||
|
|
||||||
|
# Depending on your version of Linux you'll want one of the following
|
||||||
|
# lines to enable command-line editing and history in iocsh. If you're
|
||||||
|
# not sure which, start with the top one and work downwards until the
|
||||||
|
# build doesn't fail to link the readline library. If none of them work,
|
||||||
|
# comment them all out to build without readline support.
|
||||||
|
|
||||||
|
# No other libraries needed (recent Fedora, Ubuntu etc.):
|
||||||
|
#COMMANDLINE_LIBRARY = READLINE
|
||||||
|
|
||||||
|
# Needs -lncurses (RHEL 5 etc.):
|
||||||
|
#COMMANDLINE_LIBRARY = READLINE_NCURSES
|
||||||
|
|
||||||
|
# Needs -lcurses (older versions)
|
||||||
|
#COMMANDLINE_LIBRARY = READLINE_CURSES
|
||||||
|
|
30
configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
Normal file
30
configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# CONFIG_SITE.linux-x86.linux-aarch64
|
||||||
|
#
|
||||||
|
# Site specific definitions for linux-x86 host - linux-aarch64 target builds
|
||||||
|
#-------------------------------------------------------
|
||||||
|
|
||||||
|
# Set GNU crosscompiler target name
|
||||||
|
GNU_TARGET = aarch64-linux-gnu
|
||||||
|
|
||||||
|
# Set GNU tools install path
|
||||||
|
# Examples is the installation at the APS:
|
||||||
|
GNU_DIR = /usr/local/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux
|
||||||
|
|
||||||
|
# If cross-building shared libraries and the paths on the target machine are
|
||||||
|
# different than on the build host, you should uncomment the lines below to
|
||||||
|
# disable embedding compile-time library paths into the generated files.
|
||||||
|
# You will need to provide another way for programs to find their shared
|
||||||
|
# libraries at runtime, such as by setting LD_LIBRARY_PATH or (better) using
|
||||||
|
# mechanisms related to /etc/ld.so.conf
|
||||||
|
#SHRLIBDIR_RPATH_LDFLAGS_YES_NO =
|
||||||
|
#PRODDIR_RPATH_LDFLAGS_YES_NO =
|
||||||
|
# However it is usually simpler to set STATIC_BUILD=YES here and not
|
||||||
|
# try to use shared libraries at all when cross-building, like this:
|
||||||
|
STATIC_BUILD=YES
|
||||||
|
SHARED_LIBRARIES=NO
|
||||||
|
|
||||||
|
# To use libreadline, point this to its install prefix
|
||||||
|
#READLINE_DIR = $(GNU_DIR)
|
||||||
|
#READLINE_DIR = /tools/cross/linux-x86.linux-arm/readline
|
||||||
|
# See CONFIG_SITE.Common.linux-arm for other COMMANDLINE_LIBRARY values
|
||||||
|
#COMMANDLINE_LIBRARY = READLINE
|
Reference in New Issue
Block a user