[Good news and Update]: Thank you so much Chris! Your advice to search for macros using --trace solved the problem of hard coding! It took two complete days to figure out this beautiful thing but it is every worth it.
Now the user has to just enter the below command and it will make things work: `../source-builder/sb-builder --with-rtems-bsp="xilinx_zynq_a9_qemu" --log=log_epics epics-7-1 --trace --prefix=$HOME/development/rtems/5-arm` Note: prefix will depend on the user. What made this possible? Your suggestion and the changes in code mentioned below: ```diff --git a/rtems/config/epics/epics-7-1.cfg b/rtems/config/epics/epics-7-1.cfg index aeb39a9..4b20f82 100644 --- a/rtems/config/epics/epics-7-1.cfg +++ b/rtems/config/epics/epics-7-1.cfg @@ -6,6 +6,8 @@ %define release 1 %endif +%include %{_configdir}/rtems-bsp.cfg + # # EPICS Version # diff --git a/source-builder/config/epics-7-1.cfg b/source-builder/config/epics-7-1.cfg index a9581a2..a47aecb 100644 --- a/source-builder/config/epics-7-1.cfg +++ b/source-builder/config/epics-7-1.cfg @@ -40,7 +40,10 @@ URL: https://epics.mpg.de/ %{build_build_flags} - %{__make} PREFIX=%{_prefix} RTEMS_BASE=$HOME/development/rtems/5-arm RTEMS_VERSION=5 CROSS_COMPILER_TARGET_ARCHS=RTEMS-xilinx_zynq_a9_qemu + # + # Using macros to dynamically path to RTEMS_BASE and RTEMS_VERSION using --with-rtems-bsp + # + %{__make} PREFIX=%{_prefix} RTEMS_BASE=%{_exec_prefix} RTEMS_VERSION=%{rtems_version} cd ${build_top} @@ -50,6 +53,5 @@ URL: https://epics.mpg.de/ rm -rf $SB_BUILD_ROOT cd ${source_dir_epics} - %{__make} DESTDIR=$SB_BUILD_ROOT PREFIX=%{_prefix} RTEMS_BASE=$HOME/development/rtems/5-arm RTEMS_VERSION=5 CROSS_COMPILER_TARGET_ARCHS=RTEMS-xilinx_zynq_a9_qemu - + %{__make} DESTDIR=$SB_BUILD_ROOT PREFIX=%{_prefix} RTEMS_BASE=%{_exec_prefix} RTEMS_VERSION=%{rtems_version} cd ${build_top} ``` These couple of changes made this build successful using RSB recipe. The only problem remains is that a warning of 'no hash found' is coming, even though I have added it. The above changes can be found pushed here: https://github.com/RTEMS/rtems-source-builder/commit/a505877157f63f6ae17906276b3ffcb699ed1297 Please do give feedback and suggest improvements so that the recipe can become mergeable. Thanks Mritunjay Sharma On Thu, Aug 20, 2020 at 8:51 AM Chris Johns <chr...@rtems.org> wrote: > On 20/8/20 8:09 am, Mritunjay Sharma wrote: > > [UPDATE]: Finally modified the RSB recipes to make them work with make > utility > > and EPICS was built successfully. > > Great you have had some success but there is a lot more work before it is > usable. > > > iff --git a/source-builder/config/epics-7-1.cfg > b/source-builder/config/epics-7-1.cfg > > index f51c6582..a9581a2e 100644 > > --- a/source-builder/config/epics-7-1.cfg > > +++ b/source-builder/config/epics-7-1.cfg > > @@ -21,7 +21,6 @@ URL: https://epics.mpg.de/ > > # > > %source set epics --rsb-file=epics-base-%{epics_version}.tar.gz > https://gitlab.fhi.mpg.de/junkes/epics-base/-/archive/%{epics_version}/epics-base-%{epics_version}.tar.gz > > > > - > > # > > # Prepare the source code. > > # > > @@ -31,20 +30,9 @@ URL: https://epics.mpg.de/ > > source_dir_epics="epics-base-%{epics_version}" > > > > %source setup epics -q -n epics-base-%{epics_version} > > -# > > -# Changing the RTEMS Version in > epics-base/configure/os/CONFIG_SITE.Common.RTEMS > > -# > > -sed -i 's/RTEMS_VERSION = .*/RTEMS_VERSION = 5/g' > configure/os/CONFIG_SITE.Common.RTEMS > > - > > -# > > -# Changing the RTEMS Base in > epics-base/configure/os/CONFIG_SITE.Common.RTEMS > > -# > > -sed -i "s/^RTEMS_BASE .*/RTEMS_BASE = > \/home\/mritunjay\/development\/rtems\/\$\(RTEMS_VERSION\)\-arm/g" > configure/os/CONFIG_SITE.Common.RTEMS > > > > cd ${build_top} > > > > - > > - > > %build > > build_top=$(pwd) > > > > @@ -52,7 +40,7 @@ sed -i "s/^RTEMS_BASE .*/RTEMS_BASE = > \/home\/mritunjay\/development\/rtems\/\$\ > > > > %{build_build_flags} > > > > - %{__make} PREFIX=%{_prefix} > > + %{__make} PREFIX=%{_prefix} RTEMS_BASE=$HOME/development/rtems/5-arm > RTEMS_VERSION=5 CROSS_COMPILER_TARGET_ARCHS=RTEMS-xilinx_zynq_a9_qemu > > > > cd ${build_top} > > > > @@ -62,6 +50,6 @@ sed -i "s/^RTEMS_BASE .*/RTEMS_BASE = > \/home\/mritunjay\/development\/rtems\/\$\ > > rm -rf $SB_BUILD_ROOT > > > > cd ${source_dir_epics} > > - %{__make} DESTDIR=$SB_BUILD_ROOT PREFIX=%{_prefix} install > > + %{__make} DESTDIR=$SB_BUILD_ROOT PREFIX=%{_prefix} > RTEMS_BASE=$HOME/development/rtems/5-arm RTEMS_VERSION=5 > CROSS_COMPILER_TARGET_ARCHS=RTEMS-xilinx_zynq_a9_qemu > > Mritunjay, can you see what is wrong here? Lets have a look ... > > $ stat $HOME/development/rtems/5-arm > stat: /home/chris/development/rtems/5-arm: stat: No such file or directory > > This will not work for me and it will not work for an RSB vertical stack > build. > This last requirement is important. > > You cannot hard code values. The RSB provides the RTEMS version, BSP > details and > paths as RSB macro variables. Please review these by using the --trace > option > and log file and please ask if you have any questions. > > Chris >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel