mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 15:42:14 +00:00
ICU-22363 Add support for QNX 7.1
Signed-off-by: James Choi <chachoi@blackberry.com>
This commit is contained in:
parent
ca3fd47f4c
commit
b70b2d0433
10 changed files with 177 additions and 0 deletions
12
.gitignore
vendored
12
.gitignore
vendored
|
@ -279,3 +279,15 @@ tools/unicode/c/genprops/genprops.[0-9]
|
|||
tools/unicode/c/genuca/genuca
|
||||
tools/unicode/c/genuca/genuca.8
|
||||
tools/unicode/c/icudefs.txt
|
||||
|
||||
# QNX files
|
||||
icu4c/build_qnx/linux-x86_64-o/*
|
||||
icu4c/build_qnx/nto-aarch64-le/*
|
||||
icu4c/build_qnx/nto-x86_64-o/*
|
||||
!icu4c/build_qnx/linux-x86_64-o/GNUmakefile
|
||||
!icu4c/build_qnx/nto-aarch64-le/GNUmakefile
|
||||
!icu4c/build_qnx/nto-x86_64-o/GNUmakefile
|
||||
!icu4c/build_qnx/**/Makefile
|
||||
icu4c/build_qnx/linux-x86_64-o/Makefile
|
||||
icu4c/build_qnx/nto-aarch64-le/Makefile
|
||||
icu4c/build_qnx/nto-x86_64-o/Makefile
|
||||
|
|
52
icu4c/build_qnx/Makefile
Executable file
52
icu4c/build_qnx/Makefile
Executable file
|
@ -0,0 +1,52 @@
|
|||
INSTALL_TARGETS =
|
||||
|
||||
ifeq ($(strip $(CPULIST)),)
|
||||
INSTALL_TARGETS += install-aarch64 install-x86_64
|
||||
else
|
||||
|
||||
ifeq ($(filter aarch64,$(CPULIST)), aarch64)
|
||||
INSTALL_TARGETS += install-aarch64
|
||||
endif
|
||||
|
||||
ifeq ($(filter x86_64,$(CPULIST)), x86_64)
|
||||
INSTALL_TARGETS += install-x86_64
|
||||
endif
|
||||
endif
|
||||
|
||||
linux_CLEANFILES_LIST := $(filter-out linux-x86_64-o/GNUmakefile, $(wildcard linux-x86_64-o/*))
|
||||
aarch64_CLEANFILES_LIST := $(filter-out nto-aarch64-le/GNUmakefile, $(wildcard nto-aarch64-le/*))
|
||||
x86_64_CLEANFILES_LIST := $(filter-out nto-x86_64-o/GNUmakefile, $(wildcard nto-x86_64-o/*))
|
||||
|
||||
all: install
|
||||
|
||||
install: install-linux $(INSTALL_TARGETS)
|
||||
|
||||
hinstall:
|
||||
|
||||
clean: clean-linux clean-aarch64 clean-x86_64
|
||||
|
||||
clean-linux:
|
||||
ifneq ($(strip $(linux_CLEANFILES_LIST)),)
|
||||
rm -rf $(linux_CLEANFILES_LIST)
|
||||
endif
|
||||
|
||||
clean-aarch64:
|
||||
ifneq ($(strip $(aarch64_CLEANFILES_LIST)),)
|
||||
rm -rf $(aarch64_CLEANFILES_LIST)
|
||||
endif
|
||||
|
||||
clean-x86_64:
|
||||
ifneq ($(strip $(x86_64_CLEANFILES_LIST)),)
|
||||
rm -rf $(x86_64_CLEANFILES_LIST)
|
||||
endif
|
||||
|
||||
install-linux:
|
||||
$(MAKE) -C linux-x86_64-o -f GNUmakefile
|
||||
|
||||
install-aarch64: install-linux
|
||||
$(MAKE) -C nto-aarch64-le -f GNUmakefile install
|
||||
|
||||
install-x86_64: install-linux
|
||||
$(MAKE) -C nto-x86_64-o -f GNUmakefile install
|
||||
|
||||
|
79
icu4c/build_qnx/build-hooks
Executable file
79
icu4c/build_qnx/build-hooks
Executable file
|
@ -0,0 +1,79 @@
|
|||
function hook_preconfigure {
|
||||
if [ "${TARGET_SYSNAME}" == "nto" ]; then
|
||||
# set the current directory for use in configure_opts
|
||||
CURDIR="${PWD}"
|
||||
# prefix is the base path where files are installed in the target filesystem. It is also
|
||||
# the base path for all architecture independent files
|
||||
configure_opts="${configure_opts} --prefix=/usr"
|
||||
# exec-prefix is the base path for architecture dependent files.
|
||||
configure_opts="${configure_opts} --exec-prefix=/${cpudir}/usr"
|
||||
configure_opts="${configure_opts} --with-cross-build=${CURDIR}/../linux-x86_64-o"
|
||||
configure_opts="${configure_opts} --with-data-packaging=auto"
|
||||
configure_opts="${configure_opts} --srcdir=../../source"
|
||||
|
||||
CFLAGS="$CFLAGS -fPIC"
|
||||
CPPFLAGS="$CPPFLAGS -fPIC"
|
||||
CXXFLAGS="$CXXFLAGS -std=gnu++11"
|
||||
else
|
||||
# prefix is the base path where architecture independent files are installed in the target filesystem
|
||||
configure_opts="${configure_opts} --prefix=/"
|
||||
configure_opts="${configure_opts} --srcdir=../../source"
|
||||
fi
|
||||
}
|
||||
|
||||
function hook_configure {
|
||||
if [ -z "${ac_version}" ]; then
|
||||
unset _guess
|
||||
_pat='/[Gg]enerated.*[Aa]utoconf/s/.*\([1-9]\.[0-9][0-9]*\).*/\1/p'
|
||||
[ "${_guess}" ] || _guess=$(../../source/configure --version | sed -n -e "${_pat}")
|
||||
[ "${_guess}" ] || _guess=$(sed -n -e "1,10{
|
||||
${_pat}
|
||||
}" <../../source/configure)
|
||||
AutoconfVersion ${_guess}
|
||||
fi
|
||||
../../source/configure \
|
||||
${ac_host:+"--host=${ac_host}"} \
|
||||
${ac_build:+"--build=${ac_build}"} \
|
||||
${configure_opts} \
|
||||
${ac_params:+${CC:+"CC=${CC}"}} \
|
||||
${ac_params:+${CFLAGS:+"CFLAGS=-O2 ${CFLAGS}"}} \
|
||||
${ac_params:+${CPPFLAGS:+"CPPFLAGS=${CPPFLAGS}"}} \
|
||||
${ac_params:+${LDFLAGS:+"LDFLAGS=${LDFLAGS}"}} \
|
||||
${ac_params:+${CXX:+"CXX=${CXX}"}} \
|
||||
${ac_params:+${CXXFLAGS:+"CXXFLAGS=-O2 ${CXXFLAGS}"}} \
|
||||
${ac_params:+${ac_autotools:+${ac_autotools}}} \
|
||||
|| Error "configure failed";
|
||||
}
|
||||
|
||||
|
||||
function hook_premake {
|
||||
if [ "${TARGET_SYSNAME}" == "nto" ]; then
|
||||
DESTDIR=${DESTDIR:-${INSTALL_ROOT_nto}}
|
||||
export DESTDIR
|
||||
fi
|
||||
}
|
||||
|
||||
function hook_postmake {
|
||||
if [ "${TARGET_SYSNAME}" == "linux" ]; then
|
||||
make -fMakefile config/icucross.mk
|
||||
make -fMakefile config/icucross.inc
|
||||
fi
|
||||
|
||||
if [ "${TARGET_SYSNAME}" == "nto" ]; then
|
||||
if [ -e "data/out/tmp/icudt72l.dat" ]; then
|
||||
cp -fv data/out/tmp/icudt72l.dat "${DESTDIR}/usr/share/icu/"
|
||||
fi
|
||||
cd test
|
||||
JLEVEL=4 make all-recursive
|
||||
cd -
|
||||
mkdir -p ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/test/testdata
|
||||
mkdir -p ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/data/out
|
||||
cp test/cintltst/cintltst ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests
|
||||
cp test/intltest/intltest ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests
|
||||
cp test/iotest/iotest ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests
|
||||
cp -r data/out/build ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/data/out
|
||||
cp -r test/testdata/out ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/test/testdata
|
||||
cp -r ../../source/test/testdata ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/test
|
||||
cp -r ../../source/data ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/
|
||||
fi
|
||||
}
|
6
icu4c/build_qnx/linux-x86_64-o/GNUmakefile
Executable file
6
icu4c/build_qnx/linux-x86_64-o/GNUmakefile
Executable file
|
@ -0,0 +1,6 @@
|
|||
ifndef QCONFIG
|
||||
QCONFIG=qconfig.mk
|
||||
endif
|
||||
include $(QCONFIG)
|
||||
|
||||
include $(MKFILES_ROOT)/qmake-cfg.mk
|
6
icu4c/build_qnx/nto-aarch64-le/GNUmakefile
Executable file
6
icu4c/build_qnx/nto-aarch64-le/GNUmakefile
Executable file
|
@ -0,0 +1,6 @@
|
|||
ifndef QCONFIG
|
||||
QCONFIG=qconfig.mk
|
||||
endif
|
||||
include $(QCONFIG)
|
||||
|
||||
include $(MKFILES_ROOT)/qmake-cfg.mk
|
6
icu4c/build_qnx/nto-x86_64-o/GNUmakefile
Executable file
6
icu4c/build_qnx/nto-x86_64-o/GNUmakefile
Executable file
|
@ -0,0 +1,6 @@
|
|||
ifndef QCONFIG
|
||||
QCONFIG=qconfig.mk
|
||||
endif
|
||||
include $(QCONFIG)
|
||||
|
||||
include $(MKFILES_ROOT)/qmake-cfg.mk
|
4
icu4c/source/configure
vendored
4
icu4c/source/configure
vendored
|
@ -5867,6 +5867,10 @@ else
|
|||
AR="$ac_cv_prog_AR"
|
||||
fi
|
||||
|
||||
if [ -n "$QNX_TARGET" ]; then
|
||||
AR="x86_64-linux-gnu-ar"
|
||||
RANLIB=""x86_64-linux-gnu-ranlib
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable renaming of symbols" >&5
|
||||
$as_echo_n "checking whether to enable renaming of symbols... " >&6; }
|
||||
|
|
|
@ -36,7 +36,11 @@ BUILDDIR := $(BUILDDIR:TEST\\CINTLTST/../../=)
|
|||
|
||||
# we define ICU_UNICODE_VERSION so we can test it
|
||||
CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil
|
||||
ifdef QNX_TARGET
|
||||
DEFS += -D'ICU_UNICODE_VERSION="$(UNICODE_VERSION)"' -D'ICU_VERSION="@VERSION@"' -D'ICUDATA_NAME="$(ICUDATA_PLATFORM_NAME)"' -D'U_TOPSRCDIR="/var/icu_tests"' -D'U_TOPBUILDDIR="/var/icu_tests/"'
|
||||
else
|
||||
DEFS += -D'ICU_UNICODE_VERSION="$(UNICODE_VERSION)"' -D'ICU_VERSION="@VERSION@"' -D'ICUDATA_NAME="$(ICUDATA_PLATFORM_NAME)"' -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
|
||||
endif
|
||||
LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
|
||||
|
||||
OBJECTS = callcoll.o calltest.o capitst.o cbiapts.o cbkittst.o \
|
||||
|
|
|
@ -36,7 +36,11 @@ BUILDDIR := $(BUILDDIR:TEST\\INTLTEST/../../=)
|
|||
|
||||
CPPFLAGS += -I$(srcdir) -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/toolutil -I$(top_srcdir)/tools/ctestfw
|
||||
CPPFLAGS += -DUNISTR_FROM_CHAR_EXPLICIT= -DUNISTR_FROM_STRING_EXPLICIT= -DUCHAR_TYPE=char16_t
|
||||
ifdef QNX_TARGET
|
||||
DEFS += -D'U_TOPSRCDIR="/var/icu_tests"' -D'U_TOPBUILDDIR="/var/icu_tests/"'
|
||||
else
|
||||
DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
|
||||
endif
|
||||
LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUUC) $(LIBICUTOOLUTIL) $(DEFAULT_LIBS) $(LIB_M) $(LIB_THREAD)
|
||||
|
||||
OBJECTS = aliastst.o allcoll.o apicoll.o astrotst.o callimts.o calregts.o caltest.o \
|
||||
|
|
|
@ -36,7 +36,11 @@ BUILDDIR := $(BUILDDIR:TEST\\IOTEST/../../=)
|
|||
|
||||
CPPFLAGS += -I$(srcdir) -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/io
|
||||
CPPFLAGS += -DUNISTR_FROM_CHAR_EXPLICIT= -DUNISTR_FROM_STRING_EXPLICIT=
|
||||
ifdef QNX_TARGET
|
||||
DEFS += -D'U_TOPSRCDIR="/var/icu_tests"' -D'U_TOPBUILDDIR="/var/icu_tests/"'
|
||||
else
|
||||
DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
|
||||
endif
|
||||
LIBS = $(LIBCTESTFW) $(LIBICUTOOLUTIL) $(LIBICUIO) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
|
||||
|
||||
OBJECTS = iotest.o stream.o strtst.o filetst.o trnstst.o
|
||||
|
|
Loading…
Add table
Reference in a new issue