1#! /bin/sh
2
3# edit this to taste; note that you can also override via the environment:
4case "$CC" in
5  "") CC=cc
6esac
7
8if 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.
14
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.
19*/
20
21#define PACKAGE "sed"
22#define VERSION "@VERSION@-boot"
23#define SED_FEATURE_VERSION "@SED_FEATURE_VERSION@"
24#define BOOTSTRAP 1
25
26/* Define if your compiler/headers don't support const. */
27#undef const
28
29/* Undefine if headers have conflicting definition.  */
30#define mbstate_t int
31
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
37
38/* Undefine if <stdio.h> or <sys/types.h> has conflicting definition.  */
39#define size_t unsigned
40#define ssize_t int
41
42/* If your antique compiler doesn't grok ``void *'', then #define VOID char */
43#undef VOID
44
45
46/* All other config.h.in options intentionally omitted.  Report as a
47   bug if you need extra "#define"s in here. */
48END_OF_CONFIG_H
49fi
50
51# tell the user what we're doing from here on...
52set -x -e
53
54# the ``|| exit 1''s are for fail-stop; set -e doesn't work on some systems
55
56rm -f lib/*.o sed/*.o sed/sed
57cd lib || exit 1
58rm -f regex.h
59cp 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
73
74cd ../pcre || exit 1
75${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regdebug.c || exit 1
76${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regexp.c || exit 1
77${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c reginfo.c || exit 1
78${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regperl.c || exit 1
79${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regposix.c || exit 1
80${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regstudy.c || exit 1
81${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regsub.c || exit 1
82${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regtables.c || exit 1
83
84cd ../sed || exit 1
85${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c sed.c || exit 1
86${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c fmt.c || exit 1
87${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c compile.c || exit 1
88${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c execute.c || exit 1
89${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c mbcs.c || exit 1
90${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regexp.c || exit 1
91
92${CC} -o sed *.o ../lib/*.o || exit 1
93