#3387 closed defect (wontfix)

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 (last modified by Sebastian Huber)

This will be fixed by the new build system, see #3818.

Change History (15)

comment:1 Changed on 04/11/18 at 01:58:07 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 04/11/18 at 05:21:30 by Sebastian Huber

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

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.

Version 0, edited on 04/11/18 at 05:21:30 by Sebastian Huber (next)

comment:3 Changed on 04/11/18 at 05:21:40 by Sebastian Huber

Resolution: fixed
Status: closedreopened

comment:4 in reply to:  2 Changed on 04/11/18 at 06:04:13 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 04/11/18 at 06:07:22 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 04/11/18 at 06:11:10 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 04/11/18 at 06:21:34 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 04/11/18 at 06:41:40 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 04/12/18 at 05:55:53 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 04/12/18 at 09:14:04 by Sebastian Huber

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

comment:11 Changed on 04/20/18 at 13:31:12 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.

comment:12 Changed on 12/12/19 at 23:13:52 by Joel Sherrill

Is this ticket "won't fix" with the move to the new build system?

comment:13 Changed on 12/13/19 at 06:05:12 by Sebastian Huber

Yes, provided we move to the new build system.

comment:14 in reply to:  13 Changed on 12/13/19 at 12:53:29 by Chris Johns

Replying to Sebastian Huber:

Yes, provided we move to the new build system.

I have been using the build system when doing some work week and I am now addicted.

I would like us to resolve the tickets we have to clear 5.0 then branch the repos. I can then prepare a release. This would release master for the merge the new build system.

comment:15 Changed on 12/19/19 at 08:14:20 by Sebastian Huber

Description: modified (diff)
Resolution: wontfix
Status: assignedclosed
Note: See TracTickets for help on using tickets.