From 55b69ed28e7ebb77debd98aa9dea6ee34ff79ff1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 15 Oct 2018 08:33:45 +0200 Subject: Move default config to librtemsdefaultconfig.a An RTEMS application default configuration is contained in cpukit/libmisc/dummy/default-configuration.c. This default configuration was contained in librtemscpu.a. This had at least two problems: 1. Application configuration errors may have pulled in the default configuration which in turn lead to multiply define symbols error. This was quite confusing. You had to consult the linker map file to figure out what cased the pull in of the default configuration. You needed to know what a linker map file is and how you generate it with your build system. This was not very user friendly. 2. It prevented the use of default configuration items for each subsystem in librtemscpu.a. This may be used to reduce the size of the configuration itself. Move the default configuration to the separate library librtemsdefaultconfig.a. Close #3551. --- cpukit/Makefile.am | 6 +++++- testsuites/libtests/Makefile.am | 47 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am index 15c1da9b52..5e1fdbd240 100644 --- a/cpukit/Makefile.am +++ b/cpukit/Makefile.am @@ -281,7 +281,6 @@ librtemscpu_a_SOURCES += libmisc/cpuuse/cpuusagereset.c librtemscpu_a_SOURCES += libmisc/cpuuse/cpuusagetop.c librtemscpu_a_SOURCES += libmisc/devnull/devnull.c librtemscpu_a_SOURCES += libmisc/devnull/devzero.c -librtemscpu_a_SOURCES += libmisc/dummy/default-configuration.c librtemscpu_a_SOURCES += libmisc/dummy/dummy-networking.c librtemscpu_a_SOURCES += libmisc/dumpbuf/dumpbuf.c librtemscpu_a_SOURCES += libmisc/fb/mw_print.c @@ -1831,6 +1830,11 @@ $(top_srcdir)/sapi/src/version.c: version-vc-key.h all-local: generate-vc-key +project_lib_LIBRARIES += librtemsdefaultconfig.a + +librtemsdefaultconfig_a_SOURCES = +librtemsdefaultconfig_a_SOURCES += libmisc/dummy/default-configuration.c + project_lib_LIBRARIES += libftpd.a libftpd_a_SOURCES = diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am index 1ffab4eef3..4f9d48d783 100644 --- a/testsuites/libtests/Makefile.am +++ b/testsuites/libtests/Makefile.am @@ -188,6 +188,7 @@ endif if TEST_calloc lib_tests += calloc.norun calloc_norun_SOURCES = POSIX/calloc.c +calloc_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_capture01 @@ -203,11 +204,13 @@ endif if TEST_clock_gettime lib_tests += clock_gettime.norun clock_gettime_norun_SOURCES = POSIX/clock_gettime.c +clock_gettime_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_close lib_tests += close.norun close_norun_SOURCES = POSIX/close.c +close_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_complex @@ -257,6 +260,7 @@ lib_docs += defaultconfig01/defaultconfig01.doc defaultconfig01_SOURCES = defaultconfig01/init.c defaultconfig01_CPPFLAGS = $(AM_CPPFLAGS) \ $(TEST_FLAGS_defaultconfig01) $(support_includes) +defaultconfig01_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_devfs01 @@ -520,6 +524,7 @@ endif if TEST_dup2 lib_tests += dup2.norun dup2_norun_SOURCES = POSIX/dup2.c +dup2_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_exit01 @@ -543,6 +548,7 @@ endif if TEST_fcntl lib_tests += fcntl.norun fcntl_norun_SOURCES = POSIX/fcntl.c +fcntl_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_flashdisk01 @@ -558,21 +564,25 @@ endif if TEST_flockfile lib_tests += flockfile.norun flockfile_norun_SOURCES = POSIX/flockfile.c +flockfile_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_fork lib_tests += fork.norun fork_norun_SOURCES = POSIX/fork.c +fork_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_free lib_tests += free.norun free_norun_SOURCES = POSIX/free.c +free_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_fstat lib_tests += fstat.norun fstat_norun_SOURCES = POSIX/fstat.c +fstat_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if NETTESTS @@ -590,11 +600,13 @@ endif if TEST_ftrylockfile lib_tests += ftrylockfile.norun ftrylockfile_norun_SOURCES = POSIX/ftrylockfile.c +ftrylockfile_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_funlockfile lib_tests += funlockfile.norun funlockfile_norun_SOURCES = POSIX/funlockfile.c +funlockfile_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_getentropy01 @@ -609,26 +621,31 @@ endif if TEST_getlogin lib_tests += getlogin.norun getlogin_norun_SOURCES = POSIX/getlogin.c +getlogin_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_getpwnam lib_tests += getpwnam.norun getpwnam_norun_SOURCES = POSIX/getpwnam.c +getpwnam_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_getpwuid lib_tests += getpwuid.norun getpwuid_norun_SOURCES = POSIX/getpwuid.c +getpwuid_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_gettimeofday lib_tests += gettimeofday.norun gettimeofday_norun_SOURCES = POSIX/gettimeofday.c +gettimeofday_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_getuid lib_tests += getuid.norun getuid_norun_SOURCES = POSIX/getuid.c +getuid_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_gxx01 @@ -651,6 +668,7 @@ endif if TEST_htonl lib_tests += htonl.norun htonl_norun_SOURCES = POSIX/htonl.c +htonl_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_i2c01 @@ -665,21 +683,25 @@ endif if TEST_iconv lib_tests += iconv.norun iconv_norun_SOURCES = POSIX/iconv.c +iconv_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_iconv_close lib_tests += iconv_close.norun iconv_close_norun_SOURCES = POSIX/iconv_close.c +iconv_close_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_iconv_open lib_tests += iconv_open.norun iconv_open_norun_SOURCES = POSIX/iconv_open.c +iconv_open_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_kill lib_tests += kill.norun kill_norun_SOURCES = POSIX/kill.c +kill_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_libfdt01 @@ -694,21 +716,25 @@ endif if TEST_longjmp lib_tests += longjmp.norun longjmp_norun_SOURCES = POSIX/longjmp.c +longjmp_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_lseek lib_tests += lseek.norun lseek_norun_SOURCES = POSIX/lseek.c +lseek_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_lstat lib_tests += lstat.norun lstat_norun_SOURCES = POSIX/lstat.c +lstat_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_malloc lib_tests += malloc.norun malloc_norun_SOURCES = POSIX/malloc.c +malloc_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_malloc02 @@ -835,6 +861,7 @@ endif if TEST_nanosleep lib_tests += nanosleep.norun nanosleep_norun_SOURCES = POSIX/nanosleep.c +nanosleep_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if NETTESTS @@ -860,16 +887,19 @@ endif if TEST_open lib_tests += open.norun open_norun_SOURCES = POSIX/open.c +open_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_pipe lib_tests += pipe.norun pipe_norun_SOURCES = POSIX/pipe.c +pipe_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_posix_memalign lib_tests += posix_memalign.norun posix_memalign_norun_SOURCES = POSIX/posix_memalign.c +posix_memalign_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_putenvtest @@ -910,16 +940,19 @@ endif if TEST_read lib_tests += read.norun read_norun_SOURCES = POSIX/read.c +read_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_readv lib_tests += readv.norun readv_norun_SOURCES = POSIX/readv.c +readv_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_realloc lib_tests += realloc.norun realloc_norun_SOURCES = POSIX/realloc.c +realloc_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_rtmonuse @@ -934,6 +967,7 @@ endif if TEST_setjmp lib_tests += setjmp.norun setjmp_norun_SOURCES = POSIX/setjmp.c +setjmp_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sha @@ -956,31 +990,37 @@ endif if TEST_sigaddset lib_tests += sigaddset.norun sigaddset_norun_SOURCES = POSIX/sigaddset.c +sigaddset_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sigdelset lib_tests += sigdelset.norun sigdelset_norun_SOURCES = POSIX/sigdelset.c +sigdelset_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sigemptyset lib_tests += sigemptyset.norun sigemptyset_norun_SOURCES = POSIX/sigemptyset.c +sigemptyset_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sigfillset lib_tests += sigfillset.norun sigfillset_norun_SOURCES = POSIX/sigfillset.c +sigfillset_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sigismember lib_tests += sigismember.norun sigismember_norun_SOURCES = POSIX/sigismember.c +sigismember_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sigprocmask lib_tests += sigprocmask.norun sigprocmask_norun_SOURCES = POSIX/sigprocmask.c +sigprocmask_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_sparsedisk01 @@ -1022,6 +1062,7 @@ endif if TEST_stat lib_tests += stat.norun stat_norun_SOURCES = POSIX/stat.c +stat_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_stringto01 @@ -1273,6 +1314,7 @@ endif if TEST_unlink lib_tests += unlink.norun unlink_norun_SOURCES = POSIX/unlink.c +unlink_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_utf8proc01 @@ -1287,26 +1329,31 @@ endif if TEST_vfork lib_tests += vfork.norun vfork_norun_SOURCES = POSIX/vfork.c +vfork_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_wait lib_tests += wait.norun wait_norun_SOURCES = POSIX/wait.c +wait_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_waitpid lib_tests += waitpid.norun waitpid_norun_SOURCES = POSIX/waitpid.c +waitpid_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_write lib_tests += write.norun write_norun_SOURCES = POSIX/write.c +write_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif if TEST_writev lib_tests += writev.norun writev_norun_SOURCES = POSIX/writev.c +writev_norun_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsdefaultconfig.a endif rtems_tests_PROGRAMS = $(lib_tests) -- cgit v1.2.3