1a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#! /bin/sh 2a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 3a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner# edit this to taste; note that you can also override via the environment: 4a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnercase "$CC" in 5a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner "") CC=cc 6a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turneresac 7a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 8a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnerif test -f config.h; then :; else 9a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo "Creating basic config.h..." 10a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner cat >config.h <<'END_OF_CONFIG_H' 11a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* A bootstrap version of config.h, for systems which can't 12a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner auto-configure due to a lack of a working sed. If you are on 13a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner a sufficiently odd machine you may need to hand-tweak this file. 14a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 15a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner Regardless, once you get a working version of sed you really should 16a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner re-build starting with a run of "configure", as the bootstrap 17a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner version is almost certainly more crippled than it needs to be on 18a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner your machine. 19a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner*/ 20a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 21a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define PACKAGE "sed" 22a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" 23a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define VERSION "@VERSION@-boot" 24a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define SED_FEATURE_VERSION "@SED_FEATURE_VERSION@" 25a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define BOOTSTRAP 1 26a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 27a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#ifndef _GNU_SOURCE 28a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define _GNU_SOURCE 1 29a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#endif 30a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 31a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Define if your compiler/headers don't support const. */ 32a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#undef const 33a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define __getopt_argv_const const 34a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 35a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Define if headers have no definition. */ 36a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* #define mbstate_t int */ 37a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define HAVE_WCHAR_H 1 38a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define HAVE_MBRTOWC 1 39a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 40a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Toggle if you encounter errors in lib/mkstemp.c. */ 41a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define HAVE_UNISTD_H 1 42a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define HAVE_FCNTL_H 1 43a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#undef HAVE_SYS_FILE_H 44a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#undef HAVE_IO_H 45a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 46a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Emulate stdbool.h. */ 47a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define bool int 48a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define true 1 49a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define false 0 50a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 51a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* Avoid uselessly complicated gnulib stuff. */ 52a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define _LOCALCHARSET_H 53a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define locale_charset() "C" 54a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 55a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner/* All other config.h.in options intentionally omitted. Report as a 56a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner bug if you need extra "#define"s in here. */ 57a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 58a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' TurnerEND_OF_CONFIG_H 59a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 60a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner cat > conftest.c << \EOF 61a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define size_t unsigned 62a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <sys/types.h> 63a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <stdio.h> 64a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 65a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnersize_t s; 66a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' TurnerEOF 67a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then 68a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo '#define size_t unsigned' >> config.h 69a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo checking for size_t... no 70a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner else 71a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo checking for size_t... yes 72a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner fi 73a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 74a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner cat > conftest.c << \EOF 75a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#define ssize_t int 76a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <sys/types.h> 77a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <stdio.h> 78a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 79a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnerssize_t s; 80a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' TurnerEOF 81a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then 82a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo '#define ssize_t int' >> config.h 83a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo checking for ssize_t... no 84a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner else 85a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo checking for ssize_t... yes 86a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner fi 87a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 88a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner cat > conftest.c << \EOF 89a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnervoid *foo; 90a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 91a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' TurnerEOF 92a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then 93a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo checking for void *... yes 94a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner else 95a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo '#define VOID char' >> config.h 96a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner echo checking for void *... no 97a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner fi 98a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 99a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner rm -f conftest.* 100a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 101a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner cat >> config.h << \EOF 102a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <sys/types.h> 103a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner#include <stdio.h> 104a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' TurnerEOF 105a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 106a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnerfi 107a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 108a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner# tell the user what we're doing from here on... 109a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnerset -x -e 110a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 111a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner# the ``|| exit 1''s are for fail-stop; set -e doesn't work on some systems 112a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 113a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnerrm -f lib/*.o sed/*.o sed/sed 114a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnercd lib || exit 1 115a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnercp alloca.in.h alloca.h || exit 1 116a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c alloca.c || exit 1 117a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c copy-acl.c || exit 1 118a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c error.c || exit 1 119a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c exitfail.c || exit 1 120a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c file-has-acl.c || exit 1 121a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c getdelim.c || exit 1 122a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c getline.c || exit 1 123a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt.c || exit 1 124a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt1.c || exit 1 125a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c malloc.c || exit 1 126a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c mkstemp.c || exit 1 127a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c obstack.c || exit 1 128a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c quote.c || exit 1 129a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c quotearg.c || exit 1 130a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c regex.c || exit 1 131a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c set-mode-acl.c || exit 1 132a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c strerror.c || exit 1 133a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c strverscmp.c || exit 1 134a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c tempname.c || exit 1 135a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c xalloc-die.c || exit 1 136a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -c xmalloc.c || exit 1 137a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 138a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turnercd ../sed || exit 1 139a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c sed.c || exit 1 140a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c fmt.c || exit 1 141a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c compile.c || exit 1 142a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c execute.c || exit 1 143a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c mbcs.c || exit 1 144a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regexp.c || exit 1 145a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c utils.c || exit 1 146a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner 147a6dfe5f70959a596290e1591579d26a288a1a2f9David 'Digit' Turner${CC} -o sed *.o ../lib/*.o || exit 1 148