#3387 assigned defect

Add subdir-objects to automake flags

Reported by: Chris Johns Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: build Version: 5
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

Adding this silences the warning in automake-1.16.1 so we can upgrade to that version.

Change History (11)

comment:1 Changed on Apr 11, 2018 at 1:58:07 AM by Chris Johns <chrisj@…>

Resolution: fixed
Status: assignedclosed

In aa567bc1/rtems:

configure: Add subdir-objects to all automake flags.

This option silences warning with automake-1.16.1 allowing us to
upgrade to that version.

This change has been tested with automake-1.12.6 and automake-1.16.1.
It seems version 1.16.1 configures slower than 1.12.6 for the same
source and BSP. The newer versions is 6 second slower.

Close #3387.

comment:2 Changed on Apr 11, 2018 at 5:21:30 AM by Sebastian Huber

I am not sure, but I think this breaks the BSP build. We have now for example in the build tree:

pwd
sparc-rtems5/c/erc32/lib/libbsp/sparc/erc32
make clean
test -z "" || rm -f
test -z "librtemsbsp.a" || rm -f librtemsbsp.a
rm -f *.o
rm -f ../../../../../../bsps/shared/*.o
rm -f ../../../../../../bsps/shared/cache/*.o
rm -f ../../../../../../bsps/shared/dev/display/*.o
rm -f ../../../../../../bsps/shared/dev/flash/*.o
rm -f ../../../../../../bsps/shared/dev/i2c/*.o
rm -f ../../../../../../bsps/shared/dev/ide/*.o
rm -f ../../../../../../bsps/shared/dev/rtc/*.o
rm -f ../../../../../../bsps/shared/dev/serial/*.o
rm -f ../../../../../../bsps/shared/irq/*.o
rm -f ../../../../../../bsps/shared/net/*.o
rm -f ../../../../../../bsps/shared/shmdr/*.o
rm -f ../../../../../../bsps/shared/start/*.o
rm -f ../../shared/*.o
rm -f ../shared/*.o
rm -f ../shared/irq/*.o
rm -f ../shared/startup/*.o
rm -f clock/*.o
rm -f console/*.o
rm -f erc32sonic/*.o
rm -f gnatsupp/*.o
rm -f startup/*.o
rm -f timer/*.o

This assumes that the build and source tree have the same layout. However, this is not the case. For example:

pwd
sparc-rtems5/c/erc32/lib/libbsp/sparc/erc32
ls ../../../../../..
at697f  bsps  c  erc32  gr712rc  gr740  leon2  leon3  ut699  ut700

The critical issues is that the bsps directory is not BSP-specific.

Last edited on Apr 11, 2018 at 5:22:25 AM by Sebastian Huber (previous) (diff)

comment:3 Changed on Apr 11, 2018 at 5:21:40 AM by Sebastian Huber

Resolution: fixed
Status: closedreopened

comment:4 in reply to:  2 Changed on Apr 11, 2018 at 6:04:13 AM by Chris Johns

Replying to Sebastian Huber:

I am not sure, but I think this breaks the BSP build.

I think it exposes a bug in the BSP Makefile support. Object files must stay contained under the BSP directory. Why does the cpukit not have a problem?

comment:5 Changed on Apr 11, 2018 at 6:07:22 AM by Sebastian Huber

The problem is that we are right in between a move of the BSP sources from one tree to another.

comment:6 Changed on Apr 11, 2018 at 6:11:10 AM by Chris Johns

Will the move clean up the build tree and avoid this issue once the move is done?
If so the only thing that is broken is building more than one BSP at a time. Is that a problem for you?

comment:7 Changed on Apr 11, 2018 at 6:21:34 AM by Sebastian Huber

To finish the move will need a couple of weeks (more than four I guess). Do I have to use the BSP builder to build the BSPs?

comment:8 in reply to:  6 Changed on Apr 11, 2018 at 6:41:40 AM by Chris Johns

Replying to Chris Johns:

Will the move clean up the build tree and avoid this issue once the move is done?

Nice, I am looking forward to this happening.

If so the only thing that is broken is building more than one BSP at a time. Is that a problem for you?

That is one way.

Just thought of a simpler solution that may work. What if you remove the subdir-objects option from the just the effected Makefile.am file(s)? This leave the parts of the build tree that are fixed ready and as you fix the broken parts the option can be added. It also lets automake-1.16.1 indicate we have a problem in the areas we have not fixed.

Does that work?

comment:9 Changed on Apr 12, 2018 at 5:55:53 AM by Sebastian Huber <sebastian.huber@…>

In 4ff09d5b/rtems:

build: Remove subdir-objects from BSP configure.ac

The subdir-objects do not work currently due to BSP sources in bsps and
c and the existing build tree layout.

Update #3387.

comment:10 Changed on Apr 12, 2018 at 9:14:04 AM by Sebastian Huber

Owner: changed from Chris Johns to Sebastian Huber
Status: reopenedassigned

comment:11 Changed on Apr 20, 2018 at 1:31:12 PM by Sebastian Huber <sebastian.huber@…>

In 234f0a2d/rtems:

build: Remove subdir-objects from Ada tests

Somehow it does not work. With this Automake option you get:

gmake[6]: Entering directory '/build/sparc-rtems5/c/erc32/testsuites/ada/sptests'
Making all-am in sp01
gmake[7]: Entering directory '/build/sparc-rtems5/c/erc32/testsuites/ada/sptests/sp01'
gmake[7]: * No rule to make target 'init.o', needed by 'ada_sp01.exe'. Stop.

Update #3387.

Note: See TracTickets for help on using tickets.