aboutsummaryrefslogtreecommitdiff
path: root/libio/stdio/configure.in
blob: 83cac17ebc7c22660f039664369b4d428a378682 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# This file is a shell script fragment that supplies the information
# necessary for a configure script to process the program in
# this directory.  For more information, look at ../configure.

configdirs=
srctrigger=stdio.h
srcname="libio/stdio"
package_makefile_frag=../Make.pack
package_makefile_rules_frag=../Make.pack.r

# per-host:

# per-target:

LIBDIR=yes
TO_TOPDIR=../../
ALL=nothing
MOSTLYCLEAN='*.o pic stamp-picdir core stdio.list'
(. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}

# post-target:

# Certain files that are used to build a C library (such as fprintf.o)
# are compled from the same sources as the ioXXX versions (such as ioprintf.c).
# These lines add the appropriate rules.
# NOTE: We assume a C compiler that where -o with -c works.
# But these files are not built by default anyway ...

# TODO: remove rename tmpfile tmpnam

stdio_renames="fclose fflush fgetpos fgets fopen fprintf fputs fread \
  fscanf fsetpos ftell fwrite getdelim gets perror printf puts \
  scanf setbuffer setvbuf sprintf sscanf ungetc vsprintf vsscanf"
stdio_objects=""

for file in $stdio_renames ; do
  cat >>Makefile <<EOF
$file.o: \$(srcdir)/../io$file.c
	if [ -n "\$(PICFLAG)" ]; then \\
	  \$(CC_FOR_STDIO) \$(CFLAGS) \$(CINCLUDES) \$(PICFLAG) -c \\
	  \$(srcdir)/../io$file.c -D_IO_$file=$file -o pic/$file.o; \\
	fi
	\$(CC_FOR_STDIO) \$(CFLAGS) \$(CINCLUDES) -c \\
	  \$(srcdir)/../io$file.c -D_IO_$file=$file -o $file.o
EOF
  stdio_objects="$stdio_objects $file.o"
done
sed -e "/STDIO_RENAMED_OBJECTS =/s/=.*/=${stdio_objects}/" <Makefile >tmp
mv -f tmp Makefile