summaryrefslogtreecommitdiffstats
path: root/source-builder
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2023-04-11 21:18:25 +1000
committerChris Johns <chrisj@rtems.org>2023-04-12 12:08:43 +1000
commit4c73a76c802588d3864c64ee4dd48a84b953201a (patch)
treed4ac23d099631cf2bf2cc94b64d6b4aedcd72e23 /source-builder
parentgdb-common: Fix the python-config library parsing (diff)
downloadrtems-source-builder-4c73a76c802588d3864c64ee4dd48a84b953201a.tar.bz2
print/texinfo: Add texinfo package
- MacOS systems do not come with makeinfo - Fix the internal build logic. There was config logic in a bset file that does not support logic operators. Use a special tmp internal path to isolate the internal tools.
Diffstat (limited to 'source-builder')
-rw-r--r--source-builder/config/gsed-1.cfg6
-rw-r--r--source-builder/config/texinfo-1.cfg107
-rw-r--r--source-builder/defaults.mc5
3 files changed, 113 insertions, 5 deletions
diff --git a/source-builder/config/gsed-1.cfg b/source-builder/config/gsed-1.cfg
index 87eb0fb..9135414 100644
--- a/source-builder/config/gsed-1.cfg
+++ b/source-builder/config/gsed-1.cfg
@@ -11,9 +11,6 @@
%ifn %{defined _internal_gsed}
%define _internal_gsed no
%endif
-%ifn %{defined _internal_gsed_path}
- %define _internal_gsed_path %{_prefix}
-%endif
Name: gsed-%{gsed_version}-%{_host}-%{release}
Summary: GNU sed v%{gsed_version} for host %{_host}
@@ -30,6 +27,9 @@ URL: https://www.gnu.org/software/sed/
# Remap the install paths if it is an internal build
#
%if %{_internal_gsed} == yes
+ %if !%{defined _internal_gsed_path}
+ %error no gsed internal install path defined
+ %endif
%define gsed_prefix %{_internal_gsed_path}
%else
%define gsed_prefix %{_prefix}
diff --git a/source-builder/config/texinfo-1.cfg b/source-builder/config/texinfo-1.cfg
new file mode 100644
index 0000000..d1fc2a0
--- /dev/null
+++ b/source-builder/config/texinfo-1.cfg
@@ -0,0 +1,107 @@
+#
+# GNU texinfo 7.xx Version 1.
+#
+# This configuration file configure's, make's and install's GNU's texinfo
+#
+
+%if %{release} == %{nil}
+ %define release 1
+%endif
+
+%ifn %{defined _internal_texinfo}
+ %define _internal_texinfo no
+%endif
+
+Name: texinfo-%{texinfo_version}-%{_host}-%{release}
+Summary: GNU texinfo v%{texinfo_version} for host %{_host}
+Version: %{texinfo_version}
+Release: %{release}
+URL: https://www.gnu.org/software/texinfo/
+
+#
+# Source
+#
+%source set texinfo https://ftp.gnu.org/gnu/texinfo/texinfo-%{texinfo_version}.tar.gz
+
+#
+# Remap the install paths if it is an internal build
+#
+%if %{_internal_texinfo} == yes
+ %if !%{defined _internal_texinfo_path}
+ %error no texinfo internal install path defined
+ %endif
+ %define texinfo_prefix %{_internal_texinfo_path}
+%else
+ %define texinfo_prefix %{_prefix}
+%endif
+
+%define texinfo_exec_prefix %{texinfo_prefix}
+%define texinfo_bindir %{texinfo_exec_prefix}/bin
+%define texinfo_sbindir %{texinfo_exec_prefix}/sbin
+%define texinfo_libexecdir %{texinfo_exec_prefix}/libexec
+%define texinfo_datarootdir %{texinfo_prefix}/share
+%define texinfo_datadir %{texinfo_datarootdir}
+%define texinfo_sysconfdir %{texinfo_prefix}/etc
+%define texinfo_sharedstatedir %{texinfo_prefix}/com
+%define texinfo_localstatedir %{texinfo_prefix}/var
+%define texinfo_includedir %{texinfo_prefix}/include
+%define texinfo_libdir %{texinfo_exec_prefix}/%{_lib}
+%define texinfo_mandir %{texinfo_datarootdir}/man
+%define texinfo_infodir %{texinfo_datarootdir}/info
+%define texinfo_localedir %{texinfo_datarootdir}/locale
+
+#
+# Prepare the source code.
+#
+%prep
+ build_top=$(pwd)
+
+ source_dir_texinfo="texinfo-%{texinfo_version}"
+ %source setup texinfo -q -n texinfo-%{texinfo_version}
+ %patch setup texinfo -p1
+
+ cd ${build_top}
+
+%build
+ build_top=$(pwd)
+
+ %if %{defined _internal_texinfo_path}
+ export PATH="%{_internal_texinfo_path}/bin:${PATH}"
+ %endif
+
+ %{build_directory}
+
+ mkdir -p ${build_dir}
+ cd ${build_dir}
+
+ %{host_build_flags}
+
+ ../${source_dir_texinfo}/configure \
+ --prefix=%{texinfo_prefix} \
+ --bindir=%{texinfo_bindir} \
+ --exec_prefix=%{texinfo_exec_prefix} \
+ --includedir=%{texinfo_includedir} \
+ --libdir=%{texinfo_libdir} \
+ --libexecdir=%{texinfo_libexecdir} \
+ --mandir=%{texinfo_mandir} \
+ --infodir=%{texinfo_infodir} \
+ --datadir=%{texinfo_datadir} \
+
+ %{__make} %{?_smp_mflags} all
+
+ cd ${build_top}
+
+%install
+ build_top=$(pwd)
+
+ %{__rmdir} $SB_BUILD_ROOT
+
+ cd ${build_dir}
+
+ %if %{_internal_texinfo} == yes
+ %{__make} install
+ %else
+ %{__make} DESTDIR=$SB_BUILD_ROOT install
+ %endif
+
+ cd ${build_top}
diff --git a/source-builder/defaults.mc b/source-builder/defaults.mc
index 503dd92..6575e35 100644
--- a/source-builder/defaults.mc
+++ b/source-builder/defaults.mc
@@ -109,6 +109,7 @@ _docdir: dir, none, '%{_defaultdocdir}'
_tmppath: dir, none, '%{_topdir}/build/tmp'
_tmproot: dir, none, '%{_tmppath}/sb-%{_uid}/%{_bset_tmp}'
_tmpcxcroot: dir, none, '%{_tmppath}/sb-%{_uid}-cxc/%{_bset_tmp}'
+_tmpinternal: dir, none, '%{_tmppath}/sb-%{_uid}-internal'
_datadir: dir, none, '%{_prefix}/share'
_defaultdocdir: dir, none, '%{_prefix}/share/doc'
_dry_run: none, none, '0'
@@ -131,7 +132,7 @@ _infodir: dir, none, '%{_datarootdir}/info'
_localedir: dir, none, '%{_datarootdir}/locale'
_localedir: dir, none, '%{_datadir}/locale'
_localstatedir: dir, none, '%{_prefix}/var'
-_pathprepend: none, none, ''
+_pathprepend: none, none, '%{_tmpinternal}/bin'
_pathpostpend: none, none, ''
_prefix: dir, none, '%{_usr}'
_usr: dir, none, '/usr/local'
@@ -179,7 +180,7 @@ __ld: exe, required, '/usr/bin/ld'
__ldconfig: exe, required, '/sbin/ldconfig'
__ln_s: exe, none, 'ln -s'
__make: exe, required, 'make'
-__makeinfo: exe, required, '/usr/bin/makeinfo'
+__makeinfo: exe, optional, '/usr/bin/makeinfo'
__mkdir: exe, required, '/bin/mkdir'
__mkdir_p: exe, none, '/bin/mkdir -p'
__mv: exe, required, '/bin/mv'