grep/dfa.c: Workaround for Visual C++ 2022 (amd64) optimizer bug. (same as sed)
[kbuild-mirror.git] / src / oldsed / bootstrap.sh.in
blob82b24326c92802018baeda3f4cde38f0e59a7ce8
1 #! /bin/sh
3 # edit this to taste; note that you can also override via the environment:
4 case "$CC" in
5 "") CC=cc
6 esac
8 if test -f config.h; then :; else
9 echo "Creating basic config.h..."
10 cat >config.h <<'END_OF_CONFIG_H'
11 /* A bootstrap version of config.h, for systems which can't
12 auto-configure due to a lack of a working sed. If you are on
13 a sufficiently odd machine you may need to hand-tweak this file.
15 Regardless, once you get a working version of sed you really should
16 re-build starting with a run of "configure", as the bootstrap
17 version is almost certainly more crippled than it needs to be on
18 your machine.
21 #define PACKAGE "sed"
22 #define VERSION "@VERSION@-boot"
23 #define SED_FEATURE_VERSION "@SED_FEATURE_VERSION@"
24 #define BOOTSTRAP 1
26 /* Define if your compiler/headers don't support const. */
27 #undef const
29 /* Undefine if headers have conflicting definition. */
30 #define mbstate_t int
32 /* Toggle if you encounter errors in lib/mkstemp.c. */
33 #define HAVE_UNISTD_H
34 #define HAVE_FCNTL_H
35 #undef HAVE_SYS_FILE_H
36 #undef HAVE_IO_H
38 /* Undefine if <stdio.h> or <sys/types.h> has conflicting definition. */
39 #define size_t unsigned
40 #define ssize_t int
42 /* If your antique compiler doesn't grok ``void *'', then #define VOID char */
43 #undef VOID
46 /* All other config.h.in options intentionally omitted. Report as a
47 bug if you need extra "#define"s in here. */
48 END_OF_CONFIG_H
51 # tell the user what we're doing from here on...
52 set -x -e
54 # the ``|| exit 1''s are for fail-stop; set -e doesn't work on some systems
56 rm -f lib/*.o sed/*.o sed/sed
57 cd lib || exit 1
58 rm -f regex.h
59 cp regex_.h regex.h
60 ${CC} -DHAVE_CONFIG_H -I.. -I. -c alloca.c
61 ${CC} -DHAVE_CONFIG_H -I.. -I. -c getline.c || exit 1
62 ${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt.c || exit 1
63 ${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt1.c || exit 1
64 ${CC} -DHAVE_CONFIG_H -I.. -I. -c memchr.c || exit 1
65 ${CC} -DHAVE_CONFIG_H -I.. -I. -c memcmp.c || exit 1
66 ${CC} -DHAVE_CONFIG_H -I.. -I. -c memmove.c || exit 1
67 ${CC} -DHAVE_CONFIG_H -I.. -I. -c mkstemp.c || exit 1
68 ${CC} -DHAVE_CONFIG_H -I.. -I. -c strverscmp.c || exit 1
69 ${CC} -DHAVE_CONFIG_H -I.. -I. -c obstack.c || exit 1
70 ${CC} -DHAVE_CONFIG_H -I.. -I. -c regex.c || exit 1
71 ${CC} -DHAVE_CONFIG_H -I.. -I. -c strerror.c || exit 1
72 ${CC} -DHAVE_CONFIG_H -I.. -I. -c utils.c || exit 1
74 cd ../sed || exit 1
75 ${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c sed.c || exit 1
76 ${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c fmt.c || exit 1
77 ${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c compile.c || exit 1
78 ${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c execute.c || exit 1
79 ${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c mbcs.c || exit 1
80 ${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regexp.c || exit 1
82 ${CC} -o sed *.o ../lib/*.o || exit 1