From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2134) id 0D3E83858298; Thu, 10 Aug 2023 18:17:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D3E83858298 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1691691442; bh=EuV0o0hlifd2V7E5lOLdQNKn8pHAIm9nnOVhtEInHPo=; h=From:To:Subject:Date:From; b=NV1tIQJ5OqcA2TMWmya/1nCcKztiWAuo7+zbXPWItuWBXE8jQOoO+mS1PqlXMtWGb AK41Jrg/dfjW92tGn0mC9w90jEbN97tMi4iamK2uciHSWbub6rbHgGvfbFuX95qUi0 KwWO28WJA5f2nExy4IaPhsMRadXljrV3y3n8Z+kY= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Jeff Johnston To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] Add wildcard support to recurse into sys include directories X-Act-Checkin: newlib-cygwin X-Git-Author: Alexey Lapshin X-Git-Refname: refs/heads/master X-Git-Oldrev: adc7eafa76e719d01823b6c929e468c14075ec95 X-Git-Newrev: 3550d74823bfc17ca5a1a687350821421b0d74e1 Message-Id: <20230810181722.0D3E83858298@sourceware.org> Date: Thu, 10 Aug 2023 18:17:22 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3D3550d74823b= fc17ca5a1a687350821421b0d74e1 commit 3550d74823bfc17ca5a1a687350821421b0d74e1 Author: Alexey Lapshin Date: Thu Aug 10 14:13:11 2023 -0400 Add wildcard support to recurse into sys include directories Diff: --- newlib/Makefile.am | 31 ++++++++++++------------------- newlib/Makefile.in | 47 ++++++++++++++++++++--------------------------- 2 files changed, 32 insertions(+), 46 deletions(-) diff --git a/newlib/Makefile.am b/newlib/Makefile.am index a188845d6..126cf24c1 100644 --- a/newlib/Makefile.am +++ b/newlib/Makefile.am @@ -110,6 +110,9 @@ AWK_UNIQUE_OBJS =3D $(AWK) '{ \ print objs[i]; \ }' =20 +# Recursive Wildcard function +rwildcard=3D$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2)$(filter $= (subst *,%,$2),$d)) + # The functions ldexp, frexp and modf are traditionally supplied in # both libc.a and libm.a. We build them in libm.a and copy them over, # along with some required supporting routines. @@ -236,13 +239,11 @@ stmp-targ-include: config.status $(AM_V_at)s=3Dmachine/$(machine_dir)/sys d=3Dsys $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dmachine/$(machine_dir)/include d=3D $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dsys/$(sys_dir)/include d=3D $(TARG_INCLUDE_CP_DIR) - $(AM_V_at)for i in $(srcdir)/libc/sys/$(sys_dir)/include/*/; do \ - if [ -d $$i ]; then \ - d=3D`basename $$i`; \ - $(MKDIR_P) targ-include/$$d; \ - s=3Dsys/${sys_dir}/include/$$d $(TARG_INCLUDE_CP_DIR) || exit $$?; \ - fi \ - done + $(AM_V_at)for i in $(call rwildcard,$(srcdir)/libc/sys/$(sys_dir)/include= /,*.h); do \ + f=3D`echo $$i | sed s:$(srcdir)/libc/sys/$(sys_dir)/include/::`; \ + $(MKDIR_P) targ-include/`dirname $$f`; \ + cp $$i targ-include/$$f; \ + done $(AM_V_at)s=3Dsys/$(sys_dir)/sys d=3Dsys $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dsys/$(sys_dir)/bits d=3Dbits $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dsys/$(sys_dir)/machine d=3Dmachine $(TARG_INCLUDE_CP_DIR) @@ -332,18 +333,10 @@ install-data-local: install-toollibLIBRARIES install-= multi $(INSTALL_DATA_LOCAL) $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $= $i`; \ else true; fi ; \ done ; \ - for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \ - if [ -f $$i ]; then \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \ - else true; fi ; \ - done ; \ - for i in $(srcdir)/libc/sys/$(sys_dir)/include/*; do \ - if [ -d $$i ]; then \ - $(MKDIR_P) $(DESTDIR)$(tooldir)/include/`basename $$i`; \ - for j in $$i/*.h; do \ - $(INSTALL_DATA) $$j $(DESTDIR)$(tooldir)/include/`basename $$= i`/`basename $$j`; \ - done ; \ - else true; fi ; \ + for i in $(call rwildcard,$(srcdir)/libc/sys/$(sys_dir)/include/,*.h); = do \ + f=3D`echo $$i | sed s:$(srcdir)/libc/sys/$(sys_dir)/include/::`; \ + $(MKDIR_P) $(DESTDIR)$(tooldir)/`dirname $$f`; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/`dirname $$f`; \ done ; \ for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*= .h; do \ if [ -f $$i ]; then \ diff --git a/newlib/Makefile.in b/newlib/Makefile.in index 6e5b0fbd6..93a97b5fb 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in @@ -912,18 +912,18 @@ check_PROGRAMS =3D @NEWLIB_HW_FP_FALSE@am__append_136 =3D libm/math/math.tex @HAVE_LONG_DOUBLE_TRUE@am__append_137 =3D $(libm_common_lsrc) @HAVE_FPMATH_H_TRUE@@HAVE_LONG_DOUBLE_TRUE@am__append_138 =3D $(libm_ld_ls= rc) -@HAVE_FPMATH_H_TRUE@am__append_139 =3D -@HAVE_FPMATH_H_TRUE@am__append_140 =3D +@HAVE_FPMATH_H_TRUE@am__append_139 =3D=20 +@HAVE_FPMATH_H_TRUE@am__append_140 =3D=20 @HAVE_LIBM_MACHINE_AARCH64_TRUE@am__append_141 =3D $(libm_machine_aarch64_= src) @HAVE_LIBM_MACHINE_AARCH64_TRUE@@HAVE_LONG_DOUBLE_TRUE@am__append_142 =3D = $(libm_ld128_lsrc) -@HAVE_LIBM_MACHINE_AARCH64_TRUE@am__append_143 =3D -@HAVE_LIBM_MACHINE_AARCH64_TRUE@am__append_144 =3D +@HAVE_LIBM_MACHINE_AARCH64_TRUE@am__append_143 =3D=20 +@HAVE_LIBM_MACHINE_AARCH64_TRUE@am__append_144 =3D=20 @HAVE_LIBM_MACHINE_AMDGCN_TRUE@am__append_145 =3D $(libm_machine_amdgcn_sr= c) @HAVE_LIBM_MACHINE_ARM_TRUE@am__append_146 =3D $(libm_machine_arm_src) @HAVE_LIBM_MACHINE_I386_TRUE@am__append_147 =3D $(libm_machine_i386_src) @HAVE_LIBM_MACHINE_I386_TRUE@@HAVE_LONG_DOUBLE_TRUE@am__append_148 =3D $(l= ibm_ld80_lsrc) -@HAVE_LIBM_MACHINE_I386_TRUE@am__append_149 =3D -@HAVE_LIBM_MACHINE_I386_TRUE@am__append_150 =3D +@HAVE_LIBM_MACHINE_I386_TRUE@am__append_149 =3D=20 +@HAVE_LIBM_MACHINE_I386_TRUE@am__append_150 =3D=20 @HAVE_LIBM_MACHINE_MIPS_TRUE@am__append_151 =3D $(libm_machine_mips_src) @HAS_NDS32_FPU_SP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_152 =3D li= bm/machine/nds32/wf_sqrt.S @HAS_NDS32_FPU_DP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_153 =3D li= bm/machine/nds32/w_sqrt.S @@ -935,8 +935,8 @@ check_PROGRAMS =3D @HAVE_LIBM_MACHINE_RISCV_TRUE@am__append_159 =3D $(libm_machine_riscv_src) @HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_160 =3D $(libm_machine_x86_64_sr= c) @HAVE_LIBM_MACHINE_X86_64_TRUE@@HAVE_LONG_DOUBLE_TRUE@am__append_161 =3D $= (libm_ld80_lsrc) -@HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_162 =3D -@HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_163 =3D +@HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_162 =3D=20 +@HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_163 =3D=20 subdir =3D . ACLOCAL_M4 =3D $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps =3D $(top_srcdir)/../config/depstand.m4 \ @@ -3968,6 +3968,9 @@ AWK_UNIQUE_OBJS =3D $(AWK) '{ \ }' =20 =20 +# Recursive Wildcard function +rwildcard =3D $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2)$(filter= $(subst *,%,$2),$d)) + # The functions ldexp, frexp and modf are traditionally supplied in # both libc.a and libm.a. We build them in libm.a and copy them over, # along with some required supporting routines. @@ -49971,13 +49974,11 @@ stmp-targ-include: config.status $(AM_V_at)s=3Dmachine/$(machine_dir)/sys d=3Dsys $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dmachine/$(machine_dir)/include d=3D $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dsys/$(sys_dir)/include d=3D $(TARG_INCLUDE_CP_DIR) - $(AM_V_at)for i in $(srcdir)/libc/sys/$(sys_dir)/include/*/; do \ - if [ -d $$i ]; then \ - d=3D`basename $$i`; \ - $(MKDIR_P) targ-include/$$d; \ - s=3Dsys/${sys_dir}/include/$$d $(TARG_INCLUDE_CP_DIR) || exit $$?; \ - fi \ - done + $(AM_V_at)for i in $(call rwildcard,$(srcdir)/libc/sys/$(sys_dir)/include= /,*.h); do \ + f=3D`echo $$i | sed s:$(srcdir)/libc/sys/$(sys_dir)/include/::`; \ + $(MKDIR_P) targ-include/`dirname $$f`; \ + cp $$i targ-include/$$f; \ + done $(AM_V_at)s=3Dsys/$(sys_dir)/sys d=3Dsys $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dsys/$(sys_dir)/bits d=3Dbits $(TARG_INCLUDE_CP_DIR) $(AM_V_at)s=3Dsys/$(sys_dir)/machine d=3Dmachine $(TARG_INCLUDE_CP_DIR) @@ -50062,18 +50063,10 @@ install-data-local: install-toollibLIBRARIES inst= all-multi $(INSTALL_DATA_LOCAL) $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $= $i`; \ else true; fi ; \ done ; \ - for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \ - if [ -f $$i ]; then \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/`basename $$i`; \ - else true; fi ; \ - done ; \ - for i in $(srcdir)/libc/sys/$(sys_dir)/include/*; do \ - if [ -d $$i ]; then \ - $(MKDIR_P) $(DESTDIR)$(tooldir)/include/`basename $$i`; \ - for j in $$i/*.h; do \ - $(INSTALL_DATA) $$j $(DESTDIR)$(tooldir)/include/`basename $$= i`/`basename $$j`; \ - done ; \ - else true; fi ; \ + for i in $(call rwildcard,$(srcdir)/libc/sys/$(sys_dir)/include/,*.h); = do \ + f=3D`echo $$i | sed s:$(srcdir)/libc/sys/$(sys_dir)/include/::`; \ + $(MKDIR_P) $(DESTDIR)$(tooldir)/`dirname $$f`; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/`dirname $$f`; \ done ; \ for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*= .h; do \ if [ -f $$i ]; then \