-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfigure
More file actions
executable file
·76 lines (69 loc) · 1.69 KB
/
configure
File metadata and controls
executable file
·76 lines (69 loc) · 1.69 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh
echo "Configuring..."
# Default values
DEFAULT_CC="cc"
DEFAULT_PREFIX="/usr/local"
DEFAULT_CFLAGS="-std=gnu99 -pedantic -Wall -Wextra -I./src -D_FILE_OFFSET_BITS=64 -D_REENTRANT"
DEFAULT_LDFLAGS="-lpthread -lssl -lcrypto"
DEFAULT_PLATFORM="unix"
DEFAULT_PLATFORM_CODE="0x00"
if [ -z "$CC" ]; then
CC="$DEFAULT_CC"
fi
if [ -z "$PREFIX" ]; then
PREFIX="$DEFAULT_PREFIX"
fi
if [ -z "$LDFLAGS" ]; then
LDFLAGS="$DEFAULT_LDFLAGS"
else
LDFLAGS="$LDFLAGS $DEFAULT_LDFLAGS"
fi
if [ -z "$CFLAGS" ]; then
CFLAGS="$DEFAULT_CFLAGS"
else
CFLAGS="$CFLAGS $DEFAULT_CFLAGS"
fi
UNAME_S=$(uname -s)
case "$UNAME_S" in
Linux)
PLATFORM="linux"
PLATFORM_CODE="0x10"
;;
FreeBSD)
PLATFORM="bsd"
PLATFORM_CODE="0x20"
;;
OpenBSD)
PLATFORM="bsd"
PLATFORM_CODE="0x21"
;;
NetBSD)
PLATFORM="bsd"
PLATFORM_CODE="0x22"
;;
Darwin)
PLATFORM="darwin"
PLATFORM_CODE="0x30"
;;
SunOS)
PLATFORM="solaris"
PLATFORM_CODE="0x40"
LDFLAGS="$LDFLAGS -lnsl -lsocket -lsendfile"
;;
*)
PLATFORM="$DEFAULT_PLATFORM"
PLATFORM_CODE="$DEFAULT_PLATFORM_CODE"
;;
esac
echo "Compiler: $($CC --version | head -n1)"
echo "Prefix: $PREFIX"
echo "Platform: $PLATFORM ($PLATFORM_CODE)"
# The magic step: substitute placeholders in Makefile.in to create Makefile
sed -e "s|@CC@|$CC|" \
-e "s|@PREFIX@|$PREFIX|" \
-e "s|@CFLAGS@|$CFLAGS|" \
-e "s|@LDFLAGS@|$LDFLAGS|" \
-e "s|@PLATFORM@|$PLATFORM|" \
-e "s|@PLATFORM_CODE@|$PLATFORM_CODE|" \
Makefile.in > Makefile
echo "Configuration complete. You can now run 'gmake'."