[PATCH] libgloss: merge mips configure script up a level

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Move the minor mips-specific logic to a dedicated file & namespace
them so we can merge its configure logic up a level.
---
 libgloss/Makefile.in       |   10 +-
 libgloss/aclocal.m4        |   59 +-
 libgloss/configure         |  136 +-
 libgloss/configure.ac      |    5 +-
 libgloss/mips/Makefile.in  |   33 +-
 libgloss/mips/acinclude.m4 |   47 +
 libgloss/mips/aclocal.m4   |  384 ----
 libgloss/mips/configure    | 3990 ------------------------------------
 libgloss/mips/configure.ac |  103 -
 9 files changed, 149 insertions(+), 4618 deletions(-)
 create mode 100644 libgloss/mips/acinclude.m4
 delete mode 100644 libgloss/mips/aclocal.m4
 delete mode 100755 libgloss/mips/configure
 delete mode 100644 libgloss/mips/configure.ac

diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index f9d037066bc3..eb3110e0427d 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -99,7 +99,9 @@ case "${target}" in
 	config_wince=true
 	;;
   mips*-*-*)
-	AC_CONFIG_SUBDIRS([mips])
+	AC_CONFIG_FILES([mips/Makefile])
+	subdirs="$subdirs mips"
+    target_makefile_frag=${srcdir}/config/mips.mt
 	;;
   riscv*-*-*)
 	AC_CONFIG_FILES([riscv/Makefile])
@@ -343,6 +345,7 @@ m4_include([i386/acinclude.m4])
 m4_include([libnosys/acinclude.m4])
 m4_include([m68k/acinclude.m4])
 m4_include([mcore/acinclude.m4])
+m4_include([mips/acinclude.m4])
 m4_include([mn10300/acinclude.m4])
 m4_include([moxie/acinclude.m4])
 
diff --git a/libgloss/mips/Makefile.in b/libgloss/mips/Makefile.in
index d96478d933ac..4213a1d1f513 100644
--- a/libgloss/mips/Makefile.in
+++ b/libgloss/mips/Makefile.in
@@ -64,31 +64,31 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
 	then echo ${objroot}/../binutils/objcopy ; \
 	else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
 
-CRT0 = @crt0@
-PCRT0 = @pcrt0@
+CRT0 = @MIPS_CRT0@
+PCRT0 = pcrt0.o
 GENOBJS = syscalls.o fstat.o getpid.o isatty.o kill.o \
 	lseek.o print.o putnum.o stat.o unlink.o
 GENOBJS2 = open.o close.o read.o write.o
-IDTOBJS = idtmon.o @part_specific_obj@ ${GENOBJS}
-PMONOBJS = pmon.o @part_specific_obj@ ${GENOBJS}
-LSIOBJS = lsipmon.o @part_specific_obj@ ${GENOBJS}
-DVEOBJS = dvemon.o @part_specific_obj@ ${GENOBJS} ${GENOBJS2}
-JMR3904OBJS = jmr3904-io.o @part_specific_obj@ ${GENOBJS} ${GENOBJS2}
-CFEOBJS = cfe.o cfe_api.o cfe_mem.o @part_specific_obj@ ${GENOBJS} ${GENOBJS2}
-CYGMONOBJS = open.o close.o cygmon.o @part_specific_obj@ ${GENOBJS}
+IDTOBJS = idtmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
+PMONOBJS = pmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
+LSIOBJS = lsipmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
+DVEOBJS = dvemon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS} ${GENOBJS2}
+JMR3904OBJS = jmr3904-io.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS} ${GENOBJS2}
+CFEOBJS = cfe.o cfe_api.o cfe_mem.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS} ${GENOBJS2}
+CYGMONOBJS = open.o close.o cygmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
 
 # Nullmon cannot support read and write, but the test cases pull them in via libs
-NULLMONOBJS = nullmon.o @part_specific_obj@ ${GENOBJS}
+NULLMONOBJS = nullmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
 
 CFLAGS = -g 
 
 GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
 	then echo -L${objroot}/../gcc ; fi`
 
-SCRIPTS = @script_list@
-BSP = @bsp_list@
+SCRIPTS = @MIPS_SCRIPT_LIST@
+BSP = @MIPS_BSP_LIST@
 
-PART_SPECIFIC_DEFINES = @part_specific_defines@
+PART_SPECIFIC_DEFINES = @MIPS_PART_SPECIFIC_DEFINES@
 
 # Host specific makefile fragment comes in here.
 @host_makefile_frag@
@@ -253,8 +253,5 @@ syscalls.o: ${srcdir}/syscalls.c
 # target specific makefile fragment comes in here.
 @target_makefile_frag@
 
-Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_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/mips/acinclude.m4 b/libgloss/mips/acinclude.m4
new file mode 100644
index 000000000000..6061d8dd1a35
--- /dev/null
+++ b/libgloss/mips/acinclude.m4
@@ -0,0 +1,47 @@
+MIPS_PART_SPECIFIC_OBJ=
+MIPS_PART_SPECIFIC_DEFINES=
+MIPS_SCRIPT_LIST=
+MIPS_BSP_LIST=
+MIPS_CRT0=crt0.o
+
+case "${target}" in
+  mips*-tx39*-*|mipstx39*-*-*)
+    MIPS_SCRIPT_LIST="dve idt jmr3904app jmr3904dram jmr3904dram-java jmr3904app-java sde32 sde64 mti32 mti64 mti64_n32 mti64_64"
+    MIPS_BSP_LIST="libdve.a libidt.a libjmr3904.a"
+    ;;
+  mipsisa32-*-* | mipsisa32el-*-* | \
+  mipsisa32r2-*-* | mipsisa32r2el-*-* | \
+  mipsisa64*-*-*)
+    MIPS_CRT0="crt0_cfe.o crt0_cygmon.o crt0.o"
+    MIPS_SCRIPT_LIST="idt32 idt64 cfe"
+    MIPS_BSP_LIST="libcygmon.a libidt.a libcfe.a"
+    ;;
+  mips*-lsi*-*)
+    MIPS_PART_SPECIFIC_OBJ="entry.o"
+    MIPS_SCRIPT_LIST="lsi"
+    MIPS_BSP_LIST=liblsi.a
+    ;;
+  mips64vr5*-*-*)
+    MIPS_PART_SPECIFIC_OBJ="vr5xxx.o cma101.o"
+    MIPS_PART_SPECIFIC_DEFINES=-DR5000
+    MIPS_SCRIPT_LIST="idt pmon ddb ddb-kseg0 lsi idtecoff nullmon"
+    MIPS_BSP_LIST="libidt.a libpmon.a liblsi.a libnullmon.a"
+    ;;
+  mips64vr-*-* | mips64vrel-*-*)
+    MIPS_PART_SPECIFIC_OBJ="vr5xxx.o cma101.o"
+    MIPS_SCRIPT_LIST="ddb ddb-kseg0 nullmon"
+    MIPS_BSP_LIST="libpmon.a libnullmon.a"
+    ;;
+  mips*)
+    MIPS_CRT0="crt0_cfe.o crt0.o"
+    MIPS_PART_SPECIFIC_OBJ="vr4300.o cma101.o"
+    MIPS_SCRIPT_LIST="idt pmon ddb ddb-kseg0 lsi cfe idtecoff nullmon sde32 sde64 mti32 mti64 mti64_n32 mti64_64"
+    MIPS_BSP_LIST="libidt.a libpmon.a liblsi.a libcfe.a libnullmon.a"
+    ;;
+esac
+
+AC_SUBST(MIPS_PART_SPECIFIC_OBJ)
+AC_SUBST(MIPS_PART_SPECIFIC_DEFINES)
+AC_SUBST(MIPS_SCRIPT_LIST)
+AC_SUBST(MIPS_BSP_LIST)
+AC_SUBST(MIPS_CRT0)
diff --git a/libgloss/mips/configure.ac b/libgloss/mips/configure.ac
deleted file mode 100644
index ca99c7287635..000000000000
--- a/libgloss/mips/configure.ac
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2002 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.
-#
-# Process this file with autoconf to produce a configure script.
-#
-AC_INIT(crt0.S)
-
-AC_CONFIG_AUX_DIR(../..)
-
-AC_CANONICAL_SYSTEM
-AC_ARG_PROGRAM
-
-AC_PROG_INSTALL
-
-LIB_AC_PROG_CC
-AS=${AS-as}
-AC_SUBST(AS)
-AR=${AR-ar}
-AC_SUBST(AR)
-LD=${LD-ld}
-AC_SUBST(LD)
-AC_PROG_RANLIB
-LIB_AM_PROG_AS
-
-crt0=crt0.o
-pcrt0=pcrt0.o
-
-case "${target}" in
-  mips*-tx39*-*|mipstx39*-*-*)
-        part_specific_obj=
-	part_specific_defines=
-        script_list="dve idt jmr3904app jmr3904dram jmr3904dram-java jmr3904app-java sde32 sde64 mti32 mti64 mti64_n32 mti64_64"
-        bsp_list="libdve.a libidt.a libjmr3904.a"
-        ;;
-  mipsisa32-*-* | mipsisa32el-*-* | \
-  mipsisa32r2-*-* | mipsisa32r2el-*-* | \
-  mipsisa64*-*-*)
-	crt0="crt0_cfe.o crt0_cygmon.o crt0.o"
-	pcrt0="pcrt0.o"
-	part_specific_obj=
-	part_specific_defines=
-	script_list="idt32 idt64 cfe"
-	bsp_list="libcygmon.a libidt.a libcfe.a"
-	;;
-  mips*-lsi*-*)
-	part_specific_obj=entry.o
-	part_specific_defines=
-        script_list="lsi"
-        bsp_list=liblsi.a
-	;;
-  mips64vr5*-*-*)
-	part_specific_obj="vr5xxx.o cma101.o"
-	part_specific_defines=-DR5000
-        script_list="idt pmon ddb ddb-kseg0 lsi idtecoff nullmon"
-        bsp_list="libidt.a libpmon.a liblsi.a libnullmon.a"
-	;;
-  mips64vr-*-* | mips64vrel-*-*)
-	part_specific_obj="vr5xxx.o cma101.o"
-	script_list="ddb ddb-kseg0 nullmon"
-	bsp_list="libpmon.a libnullmon.a"
-	;;
-  *)
-	crt0="crt0_cfe.o crt0.o"
-        part_specific_obj="vr4300.o cma101.o"
-	part_specific_defines=
-        script_list="idt pmon ddb ddb-kseg0 lsi cfe idtecoff nullmon sde32 sde64 mti32 mti64 mti64_n32 mti64_64"
-        bsp_list="libidt.a libpmon.a liblsi.a libcfe.a libnullmon.a"
-        ;;
-esac
-
-host_makefile_frag=${srcdir}/../config/default.mh
-target_makefile_frag=${srcdir}/../config/mips.mt
-
-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)
-target_makefile_frag_path=$target_makefile_frag
-AC_SUBST(target_makefile_frag_path)
-AC_SUBST_FILE(target_makefile_frag)
-AC_SUBST(part_specific_obj)
-AC_SUBST(part_specific_defines)
-AC_SUBST(script_list)
-AC_SUBST(bsp_list)
-AC_SUBST(crt0)
-AC_SUBST(pcrt0)
-
-AM_ENABLE_MULTILIB(, ../..)
-
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-- 
2.34.1
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.