On 9 December 2016 at 04:41, Nicolas Morey-Chaisemartin <nmo...@kalray.eu> wrote:
> I'm OK with this. The only issue I have with this is that it moves back > platform/OS selection back to configure.ac while I've been trying to move > it out (https://github.com/nmorey/odp/tree/dev/generic-platforms). > Shouldn't each platform select the right OS ? > I mean linux-generic will probably always use the linux helper while the > mppa implementation will use the right one for us (depending on the > compilation flags). > I would actually like to make the helpers much more independent so I am in line with your thinking. How about we just do exactly that and have helpers build completely independently with its own configure.ac ? > > Also I think the lib should be renamed to libodphelper instead of > libodphelper-linux. > agree > > Any plans to get these patches in soon? > with your help asap > Should I wait for your patch to get in master, or get them in my patch > series? > Will work with you, let me make your suggested change to the lib and circle back with you on your first point. > > > Nicolas > > > > Le 12/08/2016 à 09:47 PM, Mike Holmes a écrit : > > So this https://github.com/mike-holmes-linaro/odp/tree/helpers-os is what > I was thinking > > It moves the Linux specifics to helper/os/linux and selects the helper os > to be built in the configure step > It renames the linux.h helper include to threads.h which is what it > predominately is > It also removes the unused Linux specific APIs since no odp test or > example uses them and they break having an OS agnostic helper suite. > > On 8 December 2016 at 13:44, Mike Holmes <mike.hol...@linaro.org> wrote: > >> >> >> On 7 December 2016 at 01:54, Nicolas Morey-Chaisemartin <nmo...@kalray.eu >> > wrote: >> >>> >>> >>> Le 12/06/2016 à 09:37 PM, Mike Holmes a écrit : >>> > On 6 December 2016 at 12:08, Nicolas Morey-Chaisemartin >>> > <nmo...@kalray.eu> wrote: >>> >> Signed-off-by: Nicolas Morey-Chaisemartin <nmo...@kalray.eu> >>> >> --- >>> >> helper/Makefile.am | 6 +++--- >>> >> helper/test/Makefile.am | 6 +++--- >>> >> 2 files changed, 6 insertions(+), 6 deletions(-) >>> >> >>> >> diff --git a/helper/Makefile.am b/helper/Makefile.am >>> >> index d09d900..c75db00 100644 >>> >> --- a/helper/Makefile.am >>> >> +++ b/helper/Makefile.am >>> >> @@ -1,7 +1,7 @@ >>> >> include $(top_srcdir)/platform/@with_platform@/Makefile.inc >>> >> >>> >> pkgconfigdir = $(libdir)/pkgconfig >>> >> -pkgconfig_DATA = $(top_builddir)/pkgconfig/libodphelper-linux.pc >>> >> +pkgconfig_DATA = $(top_builddir)/pkgconfig/libo >>> dphelper@ODP_LIB_FLAVOR@.pc >>> > Why would the helpers be tied to the implementation being built ? They >>> > should be agnostic and depend on the OS >>> I agree that they should not depend on the implementation of ODP. But as >>> for libodp, helper might not be ABI compatible. >>> The issue is that there's no evident place in the connfigure to select >>> which implementation of the helper should be used. >>> platform configure.m4 are the easiest place to add this which ties this >>> to the platform. >>> But I could add an ODPH_LIB_IMPL. So several platforms could use the >>> same helper, while keeping the possibility of using non ABI compatible >>> versions in other platforms. >>> >>> > I think the helpers are broken or we need an alternative to linux.c in >>> > there, perhaps a odp/helpers/platform/linux/linux.c and >>> > odp/helpers/platform/mpaa/linux.c >>> I changed it in our git tree. helper/linux.c got moved to >>> helper/os/linux/linux.c >>> And we added helper/os/nodeos/linux.c and helper/os/mos/linux.c (we have >>> 2 OS flavors usable with ODP) >>> The platform configure.m4 is in charge of selecting the OS depending on >>> flags & compiler selected. >>> >> >> I would be keen to do the same thing master, if it is OS differences then >> that is much more in keeping with the intent. >> I will play with a patch to move linux.c under and OS directory called >> linux >> >> >>> > >>> >> LIB = $(top_builddir)/lib >>> >> AM_CFLAGS = -I$(srcdir)/include >>> >> @@ -31,7 +31,7 @@ noinst_HEADERS = \ >>> >> $(srcdir)/odph_lineartable.h \ >>> >> $(srcdir)/odph_list_internal.h >>> >> >>> >> -__LIB__libodphelper_linux_la_SOURCES = \ >>> >> +__LIB__libodphelper@ODP_LIB_FLAVOR@_la_SOURCES = \ >>> >> eth.c \ >>> >> ip.c \ >>> >> chksum.c \ >>> >> @@ -39,4 +39,4 @@ __LIB__libodphelper_linux_la_SOURCES = \ >>> >> hashtable.c \ >>> >> lineartable.c >>> >> >>> >> -lib_LTLIBRARIES = $(LIB)/libodphelper-linux.la >>> >> +lib_LTLIBRARIES = $(LIB)/libodphelper@ODP_LIB_FLAVOR@.la >>> >> diff --git a/helper/test/Makefile.am b/helper/test/Makefile.am >>> >> index 545db73..02c260c 100644 >>> >> --- a/helper/test/Makefile.am >>> >> +++ b/helper/test/Makefile.am >>> >> @@ -28,10 +28,10 @@ EXTRA_DIST = odpthreads_as_processes >>> odpthreads_as_pthreads >>> >> >>> >> dist_chksum_SOURCES = chksum.c >>> >> dist_odpthreads_SOURCES = odpthreads.c >>> >> -odpthreads_LDADD = $(LIB)/libodphelper-linux.la $(LIB)/ >>> libodp-linux.la >>> >> +odpthreads_LDADD = $(LIB)/libodphelper@ODP_LIB_FLAVOR@.la >>> $(LIB)/libodp@ODP_LIB_FLAVOR@.la >>> >> dist_thread_SOURCES = thread.c >>> >> -thread_LDADD = $(LIB)/libodphelper-linux.la $(LIB)/libodp-linux.la >>> >> +thread_LDADD = $(LIB)/libodphelper@ODP_LIB_FLAVOR@.la >>> $(LIB)/libodp@ODP_LIB_FLAVOR@.la >>> >> dist_process_SOURCES = process.c >>> >> dist_parse_SOURCES = parse.c >>> >> -process_LDADD = $(LIB)/libodphelper-linux.la $(LIB)/libodp-linux.la >>> >> +process_LDADD = $(LIB)/libodphelper@ODP_LIB_FLAVOR@.la >>> $(LIB)/libodp@ODP_LIB_FLAVOR@.la >>> >> dist_table_SOURCES = table.c >>> >> -- >>> >> 2.10.1.4.g0ffc436 >>> >> >>> >> >>> > >>> > >>> >>> >> >> >> -- >> Mike Holmes >> Program Manager - Linaro Networking Group >> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs >> "Work should be fun and collaborative, the rest follows" >> >> > > > -- > Mike Holmes > Program Manager - Linaro Networking Group > Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs > "Work should be fun and collaborative, the rest follows" > > > -- Mike Holmes Program Manager - Linaro Networking Group Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs "Work should be fun and collaborative, the rest follows"