From patchwork Wed Dec 27 03:40:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 82866 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 28C2D3858C78 for ; Wed, 27 Dec 2023 03:41:03 +0000 (GMT) X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id 0BC693858D32 for ; Wed, 27 Dec 2023 03:40:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0BC693858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0BC693858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:ea4a:1:5054:ff:fec7:86e4 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703648448; cv=none; b=GasI0APeCiprOdTUuFmAUHbfQTJ/Xnd2wH7W455MdDnYOjG2+vr/DFx2ESnR9q3iRh07Oo0zTe6RXo+wyZD8op3yOwuQJlZTMRYjBhCvQyh3gshblaklpb98cISoDDyw1MPEO/Q3k+pucSLzZxNCae0IreL/Zfi2hbJug0GX+Xo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703648448; c=relaxed/simple; bh=h2lKHXODFvfm6ODwhbz6iRXXd1YTPdYT1Pljybnuufo=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=rdJ6A2Dz0ebgAdmaZ33Saqd8p5v5/fnjekt+24HsGLQdaULdlOO2A/L1YJ+Bn1/2d9Gn1Kp2Yts6nL3mjrRsJu28aVXnwcGPduyn6bT10w/xy8LKOsUSzD1RwZINS5akI6YUCWtLt/plwW695Pmhb7FuHhKs+SDvhgQquLMOPJ0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 991DA34069F; Wed, 27 Dec 2023 03:40:45 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH] libgloss: merge i386 into top-level Makefile Date: Tue, 26 Dec 2023 22:40:43 -0500 Message-ID: <20231227034043.13611-1-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces+patchwork=sourceware.org@sourceware.org Avoid a recursive make to speed things up a bit. A i386-elf build shows installed objects & libs produce same code other than a rename from cygmon-gmon.o & cygmon-salib.o to i386_libcygmon_a-*.o due to the use of custom CPPFLAGS in here. --- libgloss/Makefile.am | 3 + libgloss/Makefile.in | 260 +++++++++++++++++++++++-------------- libgloss/configure | 19 ++- libgloss/configure.ac | 5 +- libgloss/i386/Makefile.in | 127 ------------------ libgloss/i386/Makefile.inc | 25 ++++ 6 files changed, 208 insertions(+), 231 deletions(-) delete mode 100644 libgloss/i386/Makefile.in create mode 100644 libgloss/i386/Makefile.inc diff --git a/libgloss/Makefile.am b/libgloss/Makefile.am index aed0ee462dbe..c329d4078e10 100644 --- a/libgloss/Makefile.am +++ b/libgloss/Makefile.am @@ -84,6 +84,9 @@ endif if CONFIG_FRV include frv/Makefile.inc endif +if CONFIG_I386 +include i386/Makefile.inc +endif if CONFIG_I960 include i960/Makefile.inc endif diff --git a/libgloss/configure.ac b/libgloss/configure.ac index 9ca179c34045..f0eb1f21ec75 100644 --- a/libgloss/configure.ac +++ b/libgloss/configure.ac @@ -63,8 +63,7 @@ case "${target}" in config_testsuite=true ;; i[[3456]]86-*-elf* | i[[3456]]86-*-coff*) - AC_CONFIG_FILES([i386/Makefile]) - subdirs="$subdirs i386" + config_i386=true ;; m32r-*-*) AC_CONFIG_FILES([m32r/Makefile]) @@ -245,7 +244,7 @@ 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 frv i960 iq2000 libnosys lm32 moxie msp430 + aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32 moxie msp430 nios2 riscv v850 wince xtensa ], [dnl AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue) diff --git a/libgloss/i386/Makefile.in b/libgloss/i386/Makefile.in deleted file mode 100644 index 7ed0b075f72e..000000000000 --- a/libgloss/i386/Makefile.in +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright (c) 1997, 2000 Cygnus Support -# -# The authors hereby grant permission to use, copy, modify, distribute, -# and license this software and its documentation for any purpose, provided -# that existing copyright notices are retained in all copies and that this -# notice is included verbatim in any distributions. No written agreement, -# license, or royalty fee is required for any of the authorized uses. -# Modifications to this software may be copyrighted by their authors -# and need not follow the licensing terms described here, provided that -# the new terms are clearly indicated on the first page of each file where -# they apply. - -DESTDIR = -VPATH = @srcdir@ -srcdir = @srcdir@ -objdir = . -srcroot = $(srcdir)/../.. -objroot = $(objdir)/../.. - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ -program_transform_name = @program_transform_name@ - -bindir = @bindir@ -libdir = @libdir@ -tooldir = $(exec_prefix)/$(target_alias) - -# Multilib support variables. -# TOP is used instead of MULTI{BUILD,SRC}TOP. -MULTIDIRS = -MULTISUBDIR = -MULTIDO = true -MULTICLEAN = true - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -SHELL = /bin/sh - -mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs - -CC = @CC@ - -#AS = @AS@ -AS = `if [ -f ${objroot}/../gas/as.new ] ; \ - then echo ${objroot}/../gas/as.new ; \ - else echo as ; fi` - -AR = @AR@ - -#LD = @LD@ -LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ - then echo ${objroot}/../ld/ld.new ; \ - else echo ld ; fi` - -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` - -CRT0 = cygmon-crt0.o -CYGMON_OBJS = cygmon-salib.o cygmon-gmon.o - -CFLAGS = -g - -GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ - then echo -L${objroot}/../gcc ; fi` - -SCRIPTS = cygmon -BSP = libcygmon.a - -# Host specific makefile fragment comes in here. -@host_makefile_frag@ - -all: ${CRT0} ${BSP} - -# -# here's where we build the board support packages for each target -# -libcygmon.a: $(CYGMON_OBJS) - ${AR} ${ARFLAGS} $@ $(CYGMON_OBJS) - ${RANLIB} $@ - -cygmon-salib.o: ${srcdir}/cygmon-salib.c - $(CC) -c $(CFLAGS) $(I386_CPPFLAGS) $(<) -o $@ - -cygmon-crt0.o: ${srcdir}/cygmon-crt0.S - $(CC) -c $(CFLAGS) $(I386_CPPFLAGS) $(<) -o $@ - -doc: - -clean mostlyclean: - rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x - -distclean maintainer-clean realclean: clean - rm -f Makefile a.out - -.PHONY: install info install-info clean-info -install: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - $(INSTALL_PROGRAM) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0) - @for bsp in ${BSP}; do\ - $(INSTALL_PROGRAM) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ - done - @for script in ${SCRIPTS}; do\ - $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ - done - -info: -install-info: -clean-info: - -test.o: ${srcdir}/test.c - -# these are for the BSPs -${CRT0}: cygmon-crt0.S - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/i386/Makefile.inc b/libgloss/i386/Makefile.inc new file mode 100644 index 000000000000..a0825611ad9b --- /dev/null +++ b/libgloss/i386/Makefile.inc @@ -0,0 +1,25 @@ +## Copyright (c) 1997, 2000 Cygnus Support +## +## The authors hereby grant permission to use, copy, modify, distribute, +## and license this software and its documentation for any purpose, provided +## that existing copyright notices are retained in all copies and that this +## notice is included verbatim in any distributions. No written agreement, +## license, or royalty fee is required for any of the authorized uses. +## Modifications to this software may be copyrighted by their authors +## and need not follow the licensing terms described here, provided that +## the new terms are clearly indicated on the first page of each file where +## they apply. + +multilibtool_DATA += \ + %D%/cygmon.ld + +multilibtool_DATA += %D%/cygmon-crt0.o +libobjs_a_SOURCES += %D%/cygmon-crt0.S + +multilibtool_LIBRARIES += %D%/libcygmon.a +%C%_libcygmon_a_SOURCES = \ + %D%/cygmon-salib.c \ + %D%/cygmon-gmon.c +%C%_libcygmon_a_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(I386_CPPFLAGS)