Commit Graph

11 Commits

Author SHA1 Message Date
Alexandre Oliva afbffe0864 Allow CONFIG_SHELL to override build-time shell in mkheaders
mkheaders.in uses substitutions of @SHELL@ to run fixinc.sh and
mkinstalldirs.  Problem is, SHELL comes from CONFIG_SHELL for the
build system, and it needs not match whatever is available at an
unrelated host system after installation, when mkheaders is supposed
to be run.

I considered ditching the hardcoding altogether, but decided to retain
it, but allowing CONFIG_SHELL and SHELL to override it, if any of them
can successfully run mkinstalldirs, and if those and the substituted
@SHELL@ fail, fallback to /bin/sh and to plain execution of the
script, which appears to enable at least one shell on a system that
doesn't typicall have a shell to recognize a script by #!/bin/sh and
reinvoke itself to run it.

If all of these fail, we fail, but only after telling the user to
retry after setting CONFIG_SHELL, that fixincl itself also uses.


for  fixincludes/ChangeLog

	* mkheaders.in: Don't require build-time shell on host.
2020-02-20 22:09:03 -03:00
Alexandre Oliva 0a649b8375 skip fixinc on vxworks7*, amend mkheaders
vxworks7 headers haven't required fixes, and we've decided to avoid
running fixinc on them.

The problem with that is that, with a dummy fixinc, mkheaders wipes
out include-fixed but then multi_dir subdirs are not created again, so
we end up with a limits.h named after each multi_dir, when there are
non-default multilibs.  Oops.

This patch arranges for a dummy fixinc to be created for *-*-vxworks7*
targets, and fixes mkheaders so as to create multi_dir subdirs in
include-fixed after wiping them out, and to copy limits.h so that it
won't take the name that should be of a subdir (unless the multi_dir
is limits.h, but that's hopefully never the case ;-)


for  fixincludes/ChangeLog

	* mkheaders.in: Re-create subdirs, copy limits.h into subdir.
	* mkfixinc.sh: Create dummy fixinc for *-*-vxworks7*.
2020-02-13 15:52:18 -03:00
Ralf Wildenhues a3d3711969 sed portability fixes in fixincludes
fixincludes/:
	PR testsuite/29737
	PR bootstrap/35938
	PR testsuite/39655
	* check.tpl: Fix typos.
	* README: Likewise.  Also, document that 'select' uses ERE.
	* mkheaders.in: Update copyright years in --version output.
	* inclhack.def (sco_math): Add missing final newline in sed
	script 'a', 'c', or 'i' commands, for BSD sed.
	(sco_math): In the text of 'a', 'c', or 'i' sed
	commands, prepend leading white space with a backslash to avoid
	the whitespace to be removed by BSD sed.
	(sco_math): Match plain 'C++' instead of 'C\+\+' in sed regex.
	(x11_new): Fix sed expression, for BSD sed.
	(glibc_mutex_init): Fix newlines in sed 's' command replacement
	part, for GNU sed 3.02 and Solaris sed.
	(glibc_mutex_init): Replace unportable \+ sed regex operator
	with \{1,\}.
	(glibc_c99_inline_2, glibc_mutex_init): Avoid unportable sed
	alternation \| regex operator.
	(solaris_complex): Remove superfluous backslashes from
	replacement string.  Replace \+ operator with \{1,\}.
	* tests/base/Xm/Traversal.h: This is fixed for BSD sed now.
	* fixincl.x: Regenerate.

From-SVN: r151518
2009-09-08 17:30:31 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Joseph Myers 52c0e446f3 inclhack.def (aix_syswait, [...]): Remove.
fixincludes:
	* inclhack.def (aix_syswait, exception_structure,
	pthread_page_size): Remove.
	(math_exception): Remove mention of fixproto in comment.
	* fixincl.x: Regenerate.
	* mkheaders.in: Do not handle STMP_FIXPROTO.

gcc:
	* config/arm/t-arm-coff, config/h8300/coff.h,
	config/i386/i386-aout.h, config/i386/i386-coff.h,
	config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
	config/pdp11/2bsd.h, config/rs6000/aix41.h,
	config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
	fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
	scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
	sys-types.h: Remove.
	* Makefile.in: Remove protoize and fixproto support and references
	in comments.
	(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
	Remove.
	(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
	(MOSTLYCLEANFILES): Remove protoize$(exeext) and
	unprotoize$(exeext).
	(rest.encap): Don't depend on $(STMP_FIXPROTO)
	(.PHONY): Don't depend on proto.
	(libgcc-support): Don't depend on $(STMP_FIXPROTO).
	(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
	protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
	deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
	build/gen-protos.o, build/scan.o, xsys-protos.h,
	build/fix-header$(build_exeext), build/fix-header.o,
	build/scan-decls.o, fixhdr.ready, stmp-fixproto,
	stmp-install-fixproto): Remove.
	(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
	SYSCALLS.c or fixproto files.
	(install-common): Don't install protoize.
	(install-headers-tar, install-headers-cpio, install-headers-cp):
	Don't depend on $(STMP_FIXPROTO).
	(install-mkheaders): Don't depend on $(STMP_FIXPROTO).  Don't
	install fixproto files or write out fixproto settings.
	(uninstall): Don't uninstall protoize.
	* config.gcc (use_fixproto): Remove.
	(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
	i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
	rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
	* config/m32r/t-linux (STMP_FIXPROTO): Remove.
	* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
	* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
	* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
	* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
	* config/t-svr4 (FIXPROTO_DEFINES): Remove.
	* config/t-vxworks (STMP_FIXPROTO): Remove.
	* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
	STMP_FIXPROTO): Remove.
	* config.in, configure: Regenerate.
	* crtstuff.c (gid_t, uid_t): Don't undefine.
	* doc/install.texi: Change m68k-coff to m68k-elf in example.
	(arm-*-coff, arm-*-aout: Remove target entries.
	(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
	Remove mention of AIX 4.1.
	(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
	* doc/invoke.texi (Running Protoize): Remove.
	* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
	(Protoize Caveats): Remove.
	* tsystem.h: Update comments on headers assumed to exist.

gcc/po:
	* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
	scan.h): Remove.

gcc/testsuite:
	* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
	gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
	options for removed targets.

libgcc:
	* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
	armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
	m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
	powerpc-ibm-aix4.[12]*, sh-*-*): Remove.

From-SVN: r145158
2009-03-28 06:51:09 +00:00
Joseph Myers 14da607343 re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>)
fixincludes:
	* mkheaders.in: Fix headers for each multilib required.

gcc:
	PR bootstrap/31020
	* configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir):
	Define using $${sysroot_headers_suffix}.
	* configure: Regenerate.
	* cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a
	multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC
	defined.
	* doc/invoke.texi (-print-sysroot-headers-suffix): Document.
	* gcc.c (print_sysroot_headers_suffix): New.
	(option_map): Include --print-sysroot-headers-suffix.
	(display_help): Mention -print-sysroot-headers-suffix.
	(process_command): Handle -print-sysroot-headers-suffix.
	(do_spec_1): Append multilib directory to include-fixed path if
	sysroot suffixes in use.
	(main): Handle -print-sysroot-headers-suffix.
	* Makefile.in (start.encap): Don't depend on xlimits.h
	(xlimits.h): Remove.
	(stmp-int-hdrs): Don't depend on xlimits.h.  Inline generation of
	limits.h for each multilib in fixinc_list.
	(fixinc_list, s-fixinc_list): New.
	(stmp-fixinc): Depend on fixinc_list.  If not copying headers,
	generate them for each multilib in fixinc_list.
	(stmp-fixproto): Use include-fixed.  Run fixproto for each
	multilib in fixinc_list.
	(mostlyclean): Don't remove xlimits.h.
	(clean): Remove include-fixed.
	(real-install-headers-tar, real-install-headers-cpio,
	real-install-headers-cp): Don't copy include, only include-fixed.
	(install-mkheaders): Depend on fixinc_list.  Don't depend on
	xlimits.h.  Save limits.h files for each multilib in fixinc_list.
	Always save mkinstalldirs.  Preserve ${sysroot_headers_suffix} in
	SYSTEM_HEADER_DIR setting in mkheaders.conf.

From-SVN: r122620
2007-03-06 15:50:28 +00:00
Joseph Myers f686ec0522 mkheaders.in (incdir): Use include-fixed not include.
fixincludes:
	* mkheaders.in (incdir): Use include-fixed not include.

gcc:
	* Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define
	FIXED_INCLUDE_DIR.
	(stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed
	for fixed headers and limits.h.
	(install-include-dir, install-headers-tar, install-headers-cpio,
	install-headers-cp, real-install-headers-tar,
	real-install-headers-cpio, real-install-headers-cp): Handle
	include-fixed as well as include.
	(install-mkheaders): Don't install files that go only in include
	not include-fixed.
	* cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR
	from GCC_INCLUDE_DIR.
	* gcc.c (process_command): Remove special -BstageN/ handling.
	(do_spec_1): Add include-fixed directories.

From-SVN: r122384
2007-02-27 20:32:13 +00:00
Mike Stump 3c1c7aaea2 * mkheaders.in: Allow optional isysroot parameter.
From-SVN: r121590
2007-02-05 00:52:27 +00:00
Kelley Cook df065c820f All files: Update with new FSF address.
2005-08-14  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update with new FSF address.

From-SVN: r103096
2005-08-15 00:50:43 +00:00
Geoffrey Keating b2cfdb12c2 mkfixinc.sh: Check error code from 'cat'.
* mkfixinc.sh: Check error code from 'cat'.  Don't try running
	built fixincl program.
	* mkheaders.in: Use @SHELL@ rather than ${SHELL} to avoid picking
	up csh from user.

From-SVN: r91109
2004-11-23 22:45:53 +00:00
Geoffrey Keating 53c7ffe7dd Index: ChangeLog
2004-11-04  Geoffrey Keating  <geoffk@apple.com>

	* Makefile.def: Build fixincludes for the host, too.
	* Makefile.in: Regenerate.
	* configure.in (host_tools): Add fixincludes.
	* configure: Regenerate.

Index: fixincludes/ChangeLog
2004-11-04  Geoffrey Keating  <geoffk@apple.com>

	* configure.ac: Add code to determine noncanonical_target,
	local_prefix, gcc_version; process mkheaders.in to make mkheaders.
	* configure: Regenerate.
	* fixinc.in: Move here from gcc/; fix many cross-hosting bugs.
	* mkfixinc.sh: Move here from gcc/; update for changes to fixinc.in.
	* mkheaders.in: Move here from gcc/; remove some unnecessary macros;
	update for changes to fixinc.in.
	* Makefile.in: Add many new macros.
	(install): New target.
	(mkheaders): New target.
	(fixinc.sh): New target.
	(all): Add mkheaders and fixinc.sh.
	* README-fixinc: Move here from gcc/.

Index: gcc/ChangeLog
2004-11-04  Geoffrey Keating  <geoffk@apple.com>

	* Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
	(install-mkheaders): Install the version built for the
	host, not for the build machine.
	* configure.ac: Always run fixincludes.
	(all_outputs): Remove mkheaders.
	* configure: Regenerate.
	* fixinc.in: Move to fixincludes/.
	* mkfixinc.sh: Likewise.
	* mkheaders.in: Likewise.
	* README-fixinc: Likewise.

From-SVN: r90117
2004-11-05 04:49:19 +00:00