Re: [PATCH] libgloss: merge fr30 into top-level Makefile

Jeff Johnston <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAOox84sVx=6BULZiDg9bNNh=gtp2vP87-yStUgGkOcLNRGfExA@mail.gmail.com>
Please feel free to merge this and any other moves to top-level Makefile.

-- Jeff J.

On Fri, Dec 29, 2023 at 12:13 AM Mike Frysinger <[email protected]> wrote:

> Avoid a recursive make to speed things up a bit.
> A fr30-elf build shows installed objects & libs produce same code.
>
> A lot of code seems like it hasn't been migrated, but that's because
> it's all disabled/unused (i.e. all the test & mon code).  It looks
> like a lot of copy & paste holdovers from the original port.
> ---
>  libgloss/Makefile.am       |   3 +
>  libgloss/Makefile.in       | 393 ++++++++++++++++++++-----------------
>  libgloss/configure         |  19 +-
>  libgloss/configure.ac      |   6 +-
>  libgloss/fr30/Makefile.in  | 145 --------------
>  libgloss/fr30/Makefile.inc |   8 +
>  6 files changed, 241 insertions(+), 333 deletions(-)
>  delete mode 100644 libgloss/fr30/Makefile.in
>  create mode 100644 libgloss/fr30/Makefile.inc
>
> diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am
> index e685be708abe..abd1fbbd1651 100644
> --- a/libgloss/Makefile.am
> +++ b/libgloss/Makefile.am
> @@ -84,6 +84,9 @@ endif
>  if CONFIG_EPIPHANY
>  include epiphany/Makefile.inc
>  endif
> +if CONFIG_FR30
> +include fr30/Makefile.inc
> +endif
>  if CONFIG_FRV
>  include frv/Makefile.inc
>  endif
> diff --git a/libgloss/configure.ac b/libgloss/configure.ac
> index 165e56b48237..30f4eea61d4f 100644
> --- a/libgloss/configure.ac
> +++ b/libgloss/configure.ac
> @@ -133,8 +133,7 @@ case "${target}" in
>         config_d30v=true
>         ;;
>    fr30-*-*)
> -       AC_CONFIG_FILES([fr30/Makefile])
> -       subdirs="$subdirs fr30"
> +       config_fr30=true
>         ;;
>    frv*-*-*)
>         config_frv=true
> @@ -230,7 +229,8 @@ AC_SUBST(subdirs)
>  dnl These subdirs have converted to non-recursive make.  Hopefully
> someday all
>  dnl the ports above will too!
>  m4_foreach_w([SUBDIR], [
> -  aarch64 arc arm bfin csky d30v epiphany frv i386 i960 iq2000 libnosys
> lm32
> +  aarch64 arc arm bfin csky d30v epiphany fr30 frv i386 i960 iq2000
> +  libnosys lm32
>    m32r mcore mn10200 mn10300 moxie msp430
>    nds32 nios2 or1k riscv rl78 rx v850 visium wince xstormy16 xtensa
>  ], [dnl
> diff --git a/libgloss/fr30/Makefile.in b/libgloss/fr30/Makefile.in
> deleted file mode 100644
> index 4c988efb7488..000000000000
> --- a/libgloss/fr30/Makefile.in
> +++ /dev/null
> @@ -1,145 +0,0 @@
> -#
> -#
> -
> -DESTDIR =
> -VPATH = @srcdir@ @srcdir@/..
> -srcdir = @srcdir@
> -objdir = .
> -srcroot = $(srcdir)/../..
> -objroot = $(objdir)/../..
> -
> -prefix = @prefix@
> -exec_prefix = @exec_prefix@
> -
> -host_alias = @host_alias@
> -target_alias = @target_alias@
> -
> -bindir = @bindir@
> -libdir = @libdir@
> -tooldir = $(exec_prefix)/$(target_alias)
> -
> -INSTALL = @INSTALL@
> -INSTALL_PROGRAM = @INSTALL_PROGRAM@
> -INSTALL_DATA = @INSTALL_DATA@
> -
> -# Multilib support variables.
> -# TOP is used instead of MULTI{BUILD,SRC}TOP.
> -MULTIDIRS =
> -MULTISUBDIR =
> -
> -SHELL =        /bin/sh
> -
> -mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs
> -
> -CC = @CC@
> -
> -AS = @AS@
> -AR = @AR@
> -LD = @LD@
> -RANLIB = @RANLIB@
> -
> -OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
> -       then echo ${objroot}/../binutils/objdump ; \
> -       else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
> -OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
> -       then echo ${objroot}/../binutils/objcopy ; \
> -       else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
> -
> -OBJS           = putnum.o unlink.o
> -CFLAGS         = -g
> -SCRIPTS                =
> -
> -# Here is all of the simulator stuff
> -SIM_SCRIPTS    =
> -SIM_LDFLAGS    =
> -SIM_BSP                = libsim.a
> -SIM_CRT0       = crt0.o
> -SIM_OBJS       = syscalls.o
> -SIM_TEST       = sim-test
> -SIM_INSTALL    = install-sim
> -
> -# Here is all of the mon960 stuff
> -MON_LDFLAGS    =
> -MON_BSP                = libmon960.a
> -MON_CRT0       = crt0.o
> -MON_OBJS       =
> -MON_SCRIPTS    = mon960.ld
> -MON_TEST       =
> -MON_INSTALL    = install-mon
> -
> -# Host specific makefile fragment comes in here.
> -@host_makefile_frag@
> -
> -#
> -# build a test program for each target board. Just trying to get
> -# it to link is a good test, so we ignore all the errors for now.
> -#
> -# all: ${MON_CRT0} ${MON_BSP}
> -all: ${SIM_CRT0} ${SIM_BSP}
> -
> -#
> -# here's where we build the board support packages for each target
> -#
> -${SIM_BSP}: ${OBJS} ${SIM_OBJS}
> -       ${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS} ${OBJS}
> -       ${RANLIB} ${SIM_BSP}
> -
> -${MON_BSP}: ${OBJS} ${MON_OBJS}
> -       ${AR} ${ARFLAGS} ${MON_BSP} ${MON_OBJS} ${OBJS}
> -       ${RANLIB} ${MON_BSP}
> -
> -#
> -# here's where we build the test programs for each target
> -#
> -.PHONY: test
> -test:  ${SIM_TEST} ${MVME_TEST} ${EVM_TEST}
> -
> -sim-test:      sim-test.x sim-test.dis
> -
> -sim-test.x:    test.o ${SIM_CRT0} ${SIM_BSP}
> -       ${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \
> -       ${SIM_CRT0} test.o \
> -       -o sim-test.x ${LIBS_FOR_TARGET} -lc ${SIM_BSP}
> -
> -sim-test.dis:  sim-test.x
> -       ${OBJDUMP} -d sim-test.x > sim-test.dis
> -
> -
> -#
> -#
> -#
> -.c.S:
> -       ${CC} ${CFLAGS_FOR_TARGET} -c $<
> -
> -simulator.o: simulator.S
> -sim-crt0.o: sim-crt0.S
> -mvme-crt0.o: mvme-crt0.S
> -mvme-exit.o: mvme-exit.S
> -mvme-inbyte.o: mvme-inbyte.S
> -mvme-outbyte.o: mvme-outbyte.S
> -
> -clean mostlyclean:
> -       rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP)
> $(MON_BSP)
> -
> -distclean maintainer-clean realclean: clean
> -       rm -f Makefile *~
> -
> -.PHONY: install info install-info clean-info
> -install: ${SIM_INSTALL}
> -
> -install-mon:
> -       ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR}
> -       set -e; for x in ${MON_CRT0} ${MON_BSP}; do ${INSTALL_DATA} $$x
> $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
> -       set -e; for x in ${MON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/$$x
> $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
> -
> -install-sim:
> -       ${mkinstalldirs} ${DESTDIR}${tooldir}/lib
> -       set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do
> ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib/$$x; done
> -
> -doc:
> -info:
> -install-info:
> -clean-info:
> -
> -Makefile: Makefile.in ../config.status
> -       cd .. && $(SHELL) config.status
> diff --git a/libgloss/fr30/Makefile.inc b/libgloss/fr30/Makefile.inc
> new file mode 100644
> index 000000000000..0ba7476c3f31
> --- /dev/null
> +++ b/libgloss/fr30/Makefile.inc
> @@ -0,0 +1,8 @@
> +multilibtool_DATA += %D%/crt0.o
> +libobjs_a_SOURCES += %D%/crt0.s
> +
> +multilibtool_LIBRARIES += %D%/libsim.a
> +%C%_libsim_a_SOURCES = \
> +       %D%/syscalls.c \
> +       putnum.c \
> +       unlink.c
> --
> 2.43.0
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.