From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 538033838694 for ; Wed, 14 Dec 2022 02:37:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 538033838694 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id E2ABF34112E; Wed, 14 Dec 2022 02:37:15 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH 5/5] libgloss: merge arm configure script up a level Date: Tue, 13 Dec 2022 21:37:00 -0500 Message-Id: <20221214023700.13062-6-vapier@gentoo.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221214023700.13062-1-vapier@gentoo.org> References: <20221214023700.13062-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,KAM_STOCKGEN,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Move the minor arm-specific logic to a dedicated variable so we can merge its configure logic up a level. --- libgloss/Makefile.in | 13 +- libgloss/arm/Makefile.in | 49 +- libgloss/arm/acinclude.m4 | 20 + libgloss/arm/aclocal.m4 | 546 ---- libgloss/arm/configure | 4813 ----------------------------- libgloss/arm/configure.ac | 72 - libgloss/arm/cpu-init/Makefile.in | 7 +- libgloss/configure | 207 +- libgloss/configure.ac | 14 +- 9 files changed, 98 insertions(+), 5643 deletions(-) create mode 100644 libgloss/arm/acinclude.m4 delete mode 100644 libgloss/arm/aclocal.m4 delete mode 100755 libgloss/arm/configure delete mode 100644 libgloss/arm/configure.ac diff --git a/libgloss/arm/Makefile.in b/libgloss/arm/Makefile.in index 5dab75f750b2..06fae10c1fca 100644 --- a/libgloss/arm/Makefile.in +++ b/libgloss/arm/Makefile.in @@ -3,6 +3,7 @@ DESTDIR = VPATH = @srcdir@ @srcdir@/.. srcdir = @srcdir@ +abs_srcdir = @abs_srcdir@ objdir = . srcroot = $(srcdir)/../.. objroot = $(objdir)/../.. @@ -17,7 +18,7 @@ bindir = @bindir@ libdir = @libdir@ tooldir = $(exec_prefix)/$(target_alias) -objtype = @objtype@ +objtype = @ARM_OBJTYPE@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -43,8 +44,6 @@ AR = @AR@ LD = @LD@ RANLIB = @RANLIB@ -SUBDIRS = @subdirs@ - OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ then echo ${objroot}/../binutils/objdump ; \ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` @@ -52,10 +51,10 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ then echo ${objroot}/../binutils/objcopy ; \ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` -@BUILD_CRT0_TRUE@CRT0 = crt0.o -@BUILD_CRT0_TRUE@CRT0_INSTALL = install-crt0 -@BUILD_CRT0_FALSE@CRT0 = -@BUILD_CRT0_FALSE@CRT0_INSTALL = +@ARM_BUILD_CRT0_TRUE@CRT0 = crt0.o +@ARM_BUILD_CRT0_TRUE@CRT0_INSTALL = install-crt0 +@ARM_BUILD_CRT0_FALSE@CRT0 = +@ARM_BUILD_CRT0_FALSE@CRT0_INSTALL = NANO_SCRIPTS=nano.specs NANO_INSTALL=install-nano @@ -105,15 +104,6 @@ INCLUDES += `if [ -d ${objroot}/newlib ]; then echo -I$(srcroot)/newlib/libc/mac # it to link is a good test, so we ignore all the errors for now. # all: ${CRT0} ${LINUX_CRT0} ${LINUX_BSP} ${REDBOOT_CRT0} ${REDBOOT_OBJS} ${RDPMON_CRT0} ${RDPMON_BSP} ${RDIMON_CRT0} ${RDIMON_BSP} - @rootpre=`pwd`/; export rootpre; \ - srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ - for dir in .. ${SUBDIRS}; do \ - if [ x$$dir != x.. ]; then \ - if [ -d $$dir ]; then \ - (cd $$dir; $(MAKE) $(FLAGS_TO_PASS)); \ - else true; fi; \ - else true; fi; \ - done # # here's where we build the test programs for each target @@ -199,30 +189,12 @@ librdimon-v2m.a: $(RDIMON_SEMIHV2M_OBJS) clean mostlyclean: rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) $(IQ80310_BSP) - @rootpre=`pwd`/; export rootpre; \ - srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ - for dir in .. ${SUBDIRS}; do \ - if [ x$$dir != x.. ]; then \ - if [ -d $$dir ]; then \ - (cd $$dir; $(MAKE) $(FLAGS_TO_PASS) clean); \ - else true; fi; \ - else true; fi; \ - done distclean maintainer-clean realclean: clean - rm -f Makefile config.status *~ + rm -f Makefile *~ .PHONY: install info install-info clean-info install: ${CRT0_INSTALL} ${LINUX_INSTALL} ${REDBOOT_INSTALL} ${RDPMON_INSTALL} ${RDIMON_INSTALL} ${IQ80310_INSTALL} ${PID_INSTALL} ${NANO_INSTALL} - @rootpre=`pwd`/; export rootpre; \ - srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ - for dir in .. ${SUBDIRS}; do \ - if [ x$$dir != x.. ]; then \ - if [ -d $$dir ]; then \ - (cd $$dir; $(MAKE) $(FLAGS_TO_PASS) install); \ - else true; fi; \ - else true; fi; \ - done install-nano: ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} @@ -267,8 +239,5 @@ info: install-info: clean-info: -Makefile: Makefile.in config.status @host_makefile_frag_path@ - $(SHELL) config.status - -config.status: configure - $(SHELL) config.status --recheck +Makefile: Makefile.in ../config.status + cd .. && $(SHELL) ./config.status diff --git a/libgloss/arm/acinclude.m4 b/libgloss/arm/acinclude.m4 new file mode 100644 index 000000000000..b34a40f9c61d --- /dev/null +++ b/libgloss/arm/acinclude.m4 @@ -0,0 +1,20 @@ +if test "x$newlib_may_supply_syscalls" = "xyes"; then + ARM_BUILD_CRT0_TRUE='#' + ARM_BUILD_CRT0_FALSE= +else + ARM_BUILD_CRT0_TRUE= + ARM_BUILD_CRT0_FALSE='#' +fi +AC_SUBST(ARM_BUILD_CRT0_TRUE) +AC_SUBST(ARM_BUILD_CRT0_FALSE) + +ARM_OBJTYPE= +case "${target}" in + *-*-elf | *-*-eabi* | *-*-tirtos*) + ARM_OBJTYPE=elf- + ;; + *-*-coff) + ARM_OBJTYPE=coff- + ;; +esac +AC_SUBST(ARM_OBJTYPE) diff --git a/libgloss/arm/configure.ac b/libgloss/arm/configure.ac deleted file mode 100644 index 44f5f73962e4..000000000000 --- a/libgloss/arm/configure.ac +++ /dev/null @@ -1,72 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(redboot-crt0.S) - -dnl Support --disable-newlib-supplied-syscalls -AC_ARG_ENABLE(newlib-supplied-syscalls, -[ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls], -[case "${enableval}" in - yes) newlib_may_supply_syscalls=yes ;; - no) newlib_may_supply_syscalls=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for newlib-supplied-syscalls option) ;; - esac], [newlib_may_supply_syscalls=yes])dnl - -if test "x$newlib_may_supply_syscalls" = "xyes"; then - BUILD_CRT0_TRUE='#' - BUILD_CRT0_FALSE= -else - BUILD_CRT0_TRUE= - BUILD_CRT0_FALSE='#' -fi - -AC_SUBST(BUILD_CRT0_TRUE) -AC_SUBST(BUILD_CRT0_FALSE) - -AC_CONFIG_AUX_DIR(../..) - -AC_CANONICAL_SYSTEM -AC_ARG_PROGRAM - -AC_PROG_INSTALL - -AC_NO_EXECUTABLES -AC_PROG_CC -AM_PROG_AS -AM_PROG_AR -LD=${LD-ld} -AC_SUBST(LD) -AC_PROG_RANLIB - -case "${target}" in - *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) - objtype=coff- - ;; -esac - -AC_SUBST(objtype) - -host_makefile_frag=`cd $srcdir/../config;pwd`/default.mh - -dnl We have to assign the same value to other variables because autoconf -dnl doesn't provide a mechanism to substitute a replacement keyword with -dnl arbitrary data or pathnames. -dnl -host_makefile_frag_path=$host_makefile_frag -AC_SUBST(host_makefile_frag_path) -AC_SUBST_FILE(host_makefile_frag) - -# Configure cpu init plug-ins -if test -d "${srcdir}/cpu-init"; then - subdirs="${subdirs} cpu-init" - AC_CONFIG_FILES([cpu-init/Makefile], [dnl - ac_file=cpu-init/Makefile . ${srcdir}/../../config-ml.in - ]) - AC_SUBST(subdirs) -fi - -AM_ENABLE_MULTILIB(, ../..) - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/libgloss/arm/cpu-init/Makefile.in b/libgloss/arm/cpu-init/Makefile.in index 547c58daf89f..49ad53818d08 100644 --- a/libgloss/arm/cpu-init/Makefile.in +++ b/libgloss/arm/cpu-init/Makefile.in @@ -80,8 +80,5 @@ info: install-info: clean-info: -Makefile: Makefile.in ../config.status @host_makefile_frag_path@ - $(SHELL) ../config.status --file cpu-init/Makefile - -../config.status: ../configure - $(SHELL) ../config.status --recheck +Makefile: Makefile.in ../../config.status + cd ../.. && $(SHELL) ./config.status --file arm/cpu-init/Makefile diff --git a/libgloss/configure.ac b/libgloss/configure.ac index 931e3f6de42d..3e3b8afe95e0 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -8,6 +8,15 @@ fi AC_CONFIG_AUX_DIR(..) +dnl Support --disable-newlib-supplied-syscalls +AC_ARG_ENABLE(newlib-supplied-syscalls, +[ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls], +[case "${enableval}" in + yes) newlib_may_supply_syscalls=yes ;; + no) newlib_may_supply_syscalls=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for newlib-supplied-syscalls option) ;; + esac], [newlib_may_supply_syscalls=yes])dnl + AC_PROG_INSTALL AC_CANONICAL_SYSTEM @@ -205,7 +214,8 @@ case "${target}" in subdirs="$subdirs rx" ;; arm*-*-elf | arm*-*-coff | arm*-*-*) - AC_CONFIG_SUBDIRS([arm]) + AC_CONFIG_FILES([arm/Makefile arm/cpu-init/Makefile]) + subdirs="$subdirs arm arm/cpu-init" ;; spu-*-elf) AC_CONFIG_FILES([spu/Makefile]) @@ -235,6 +245,7 @@ case "${target}" in subdirs="$subdirs nios2" ;; esac +AC_SUBST(subdirs) dnl These subdirs have converted to non-recursive make. Hopefully someday all dnl the ports above will too! @@ -332,6 +343,7 @@ dnl AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix", [symbol prefix]) m4_include([aarch64/acinclude.m4]) +m4_include([arm/acinclude.m4]) m4_include([i386/acinclude.m4]) m4_include([libnosys/acinclude.m4]) m4_include([m68k/acinclude.m4]) -- 2.38.1