Wed, 02 Jul 2025 23:21:17 +0200
resolve TODOs regarding input.h
a) mouse position must be integer, because it can be negative (though rarely)
b) we should not trade "access complexity" for space in the scancodes array
0 | 1 | #!/bin/sh |
2 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
3 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
4 | # some utility functions |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
5 | isplatform() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
6 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
7 | for p in $PLATFORM |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
8 | do |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
9 | if [ "$p" = "$1" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
10 | return 0 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
11 | fi |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
12 | done |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
13 | return 1 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
14 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
15 | notisplatform() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
16 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
17 | for p in $PLATFORM |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
18 | do |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
19 | if [ "$p" = "$1" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
20 | return 1 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
21 | fi |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
22 | done |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
23 | return 0 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
24 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
25 | istoolchain() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
26 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
27 | for t in $TOOLCHAIN |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
28 | do |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
29 | if [ "$t" = "$1" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
30 | return 0 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
31 | fi |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
32 | done |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
33 | return 1 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
34 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
35 | notistoolchain() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
36 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
37 | for t in $TOOLCHAIN |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
38 | do |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
39 | if [ "$t" = "$1" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
40 | return 1 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
41 | fi |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
42 | done |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
43 | return 0 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
44 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
45 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
46 | # clean abort |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
47 | abort_configure() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
48 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
49 | rm -Rf "$TEMP_DIR" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
50 | exit 1 |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
51 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
52 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
53 | # Test for availability of pkg-config |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
54 | PKG_CONFIG=`command -v pkg-config` |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
55 | : ${PKG_CONFIG:="false"} |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
56 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
57 | # Simple uname based platform detection |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
58 | # $PLATFORM is used for platform dependent dependency selection |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
59 | OS=`uname -s` |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
60 | OS_VERSION=`uname -r` |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
61 | printf "detect platform... " |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
62 | if [ "$OS" = "SunOS" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
63 | PLATFORM="solaris sunos unix svr4" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
64 | elif [ "$OS" = "Linux" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
65 | PLATFORM="linux unix" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
66 | elif [ "$OS" = "FreeBSD" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
67 | PLATFORM="freebsd bsd unix" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
68 | elif [ "$OS" = "OpenBSD" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
69 | PLATFORM="openbsd bsd unix" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
70 | elif [ "$OS" = "NetBSD" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
71 | PLATFORM="netbsd bsd unix" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
72 | elif [ "$OS" = "Darwin" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
73 | PLATFORM="macos osx bsd unix" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
74 | elif echo "$OS" | grep -i "MINGW" > /dev/null; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
75 | PLATFORM="windows mingw" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
76 | fi |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
77 | : ${PLATFORM:="unix"} |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
78 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
79 | PLATFORM_NAME=`echo "$PLATFORM" | cut -f1 -d' ' -` |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
80 | echo "$PLATFORM_NAME" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
81 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
82 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
83 | # help text |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
84 | printhelp() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
85 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
86 | echo "Usage: $0 [OPTIONS]..." |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
87 | cat << __EOF__ |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
88 | Installation directories: |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
89 | --prefix=PREFIX path prefix for architecture-independent files |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
90 | [$prefix] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
91 | --exec-prefix=EPREFIX path prefix for architecture-dependent files |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
92 | [PREFIX] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
93 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
94 | --bindir=DIR user executables [EPREFIX/bin] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
95 | --sbindir=DIR system admin executables [EPREFIX/sbin] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
96 | --libexecdir=DIR program executables [EPREFIX/libexec] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
97 | --sysconfdir=DIR system configuration files [PREFIX/etc] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
98 | --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
99 | --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
100 | --runstatedir=DIR run-time variable data [LOCALSTATEDIR/run] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
101 | --libdir=DIR object code libraries [EPREFIX/lib] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
102 | --includedir=DIR C header files [PREFIX/include] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
103 | --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
104 | --datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
105 | --infodir=DIR info documentation [DATAROOTDIR/info] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
106 | --mandir=DIR man documentation [DATAROOTDIR/man] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
107 | --localedir=DIR locale-dependent data [DATAROOTDIR/locale] |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
108 | |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
109 | Build Types: |
103 | 110 | --debug add extra compile flags for debug builds |
111 | --release add extra compile flags for release builds | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
112 | |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
113 | Optional Features: |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
114 | --enable-asan Enable address sanitization. |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
115 | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
116 | __EOF__ |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
117 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
118 | |
0 | 119 | # create temporary directory |
120 | TEMP_DIR=".tmp-`uname -n`" | |
121 | rm -Rf "$TEMP_DIR" | |
122 | if mkdir -p "$TEMP_DIR"; then | |
123 | : | |
124 | else | |
125 | echo "Cannot create tmp dir $TEMP_DIR" | |
126 | echo "Abort" | |
127 | exit 1 | |
128 | fi | |
129 | touch "$TEMP_DIR/options" | |
130 | touch "$TEMP_DIR/features" | |
131 | ||
132 | # define standard variables | |
1 | 133 | # also define standard prefix (this is where we will search for config.site) |
134 | prefix=/usr | |
135 | exec_prefix= | |
136 | bindir= | |
137 | sbindir= | |
138 | libdir= | |
139 | libexecdir= | |
140 | datarootdir= | |
141 | datadir= | |
142 | sysconfdir= | |
143 | sharedstatedir= | |
144 | localstatedir= | |
145 | runstatedir= | |
146 | includedir= | |
147 | infodir= | |
148 | localedir= | |
149 | mandir= | |
0 | 150 | |
151 | # custom variables | |
84
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
152 | if true \ |
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
153 | ; then |
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
154 | SRCDIR=`pwd` |
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
155 | fi |
0 | 156 | |
157 | # features | |
158 | ||
159 | # | |
160 | # parse arguments | |
161 | # | |
162 | BUILD_TYPE="default" | |
163 | for ARG in "$@" | |
164 | do | |
165 | case "$ARG" in | |
1 | 166 | "--prefix="*) prefix=${ARG#--prefix=} ;; |
167 | "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;; | |
168 | "--bindir="*) bindir=${ARG#----bindir=} ;; | |
169 | "--sbindir="*) sbindir=${ARG#--sbindir=} ;; | |
170 | "--libdir="*) libdir=${ARG#--libdir=} ;; | |
171 | "--libexecdir="*) libexecdir=${ARG#--libexecdir=} ;; | |
172 | "--datarootdir="*) datarootdir=${ARG#--datarootdir=} ;; | |
173 | "--datadir="*) datadir=${ARG#--datadir=} ;; | |
174 | "--sysconfdir="*) sysconfdir=${ARG#--sysconfdir=} ;; | |
175 | "--sharedstatedir="*) sharedstatedir=${ARG#--sharedstatedir=} ;; | |
176 | "--localstatedir="*) localstatedir=${ARG#--localstatedir=} ;; | |
177 | "--includedir="*) includedir=${ARG#--includedir=} ;; | |
178 | "--infodir="*) infodir=${ARG#--infodir=} ;; | |
179 | "--mandir"*) mandir=${ARG#--mandir} ;; | |
180 | "--localedir"*) localedir=${ARG#--localedir} ;; | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
181 | "--help"*) printhelp; abort_configure ;; |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
182 | "--debug") BUILD_TYPE="debug" ;; |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
183 | "--release") BUILD_TYPE="release" ;; |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
184 | "--enable-asan") FEATURE_ASAN=on ;; |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
185 | "--disable-asan") unset FEATURE_ASAN ;; |
0 | 186 | "-"*) echo "unknown option: $ARG"; abort_configure ;; |
187 | esac | |
188 | done | |
189 | ||
190 | ||
1 | 191 | |
192 | # set defaults for dir variables | |
193 | : ${exec_prefix:="$prefix"} | |
194 | : ${bindir:='${exec_prefix}/bin'} | |
195 | : ${sbindir:='${exec_prefix}/sbin'} | |
196 | : ${libdir:='${exec_prefix}/lib'} | |
197 | : ${libexecdir:='${exec_prefix}/libexec'} | |
198 | : ${datarootdir:='${prefix}/share'} | |
199 | : ${datadir:='${datarootdir}'} | |
200 | : ${sysconfdir:='${prefix}/etc'} | |
201 | : ${sharedstatedir:='${prefix}/com'} | |
202 | : ${localstatedir:='${prefix}/var'} | |
203 | : ${runstatedir:='${localstatedir}/run'} | |
204 | : ${includedir:='${prefix}/include'} | |
205 | : ${infodir:='${datarootdir}/info'} | |
206 | : ${mandir:='${datarootdir}/man'} | |
207 | : ${localedir:='${datarootdir}/locale'} | |
208 | ||
103 | 209 | # remember the above values and compare them later |
210 | orig_bindir="$bindir" | |
211 | orig_sbindir="$sbindir" | |
212 | orig_libdir="$libdir" | |
213 | orig_libexecdir="$libexecdir" | |
214 | orig_datarootdir="$datarootdir" | |
215 | orig_datadir="$datadir" | |
216 | orig_sysconfdir="$sysconfdir" | |
217 | orig_sharedstatedir="$sharedstatedir" | |
218 | orig_localstatedir="$localstatedir" | |
219 | orig_runstatedir="$runstatedir" | |
220 | orig_includedir="$includedir" | |
221 | orig_infodir="$infodir" | |
222 | orig_mandir="$mandir" | |
223 | orig_localedir="$localedir" | |
224 | ||
1 | 225 | # check if a config.site exists and load it |
226 | if [ -n "$CONFIG_SITE" ]; then | |
227 | # CONFIG_SITE may contain space separated file names | |
228 | for cs in $CONFIG_SITE; do | |
229 | printf "loading defaults from $cs... " | |
230 | . "$cs" | |
231 | echo ok | |
232 | done | |
233 | elif [ -f "$prefix/share/config.site" ]; then | |
234 | printf "loading site defaults... " | |
235 | . "$prefix/share/config.site" | |
236 | echo ok | |
237 | elif [ -f "$prefix/etc/config.site" ]; then | |
238 | printf "loading site defaults... " | |
239 | . "$prefix/etc/config.site" | |
240 | echo ok | |
241 | fi | |
0 | 242 | |
243 | ||
244 | # generate vars.mk | |
245 | cat > "$TEMP_DIR/vars.mk" << __EOF__ | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
246 | prefix=$prefix |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
247 | exec_prefix=$exec_prefix |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
248 | bindir=$bindir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
249 | sbindir=$sbindir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
250 | libdir=$libdir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
251 | libexecdir=$libexecdir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
252 | datarootdir=$datarootdir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
253 | datadir=$datadir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
254 | sysconfdir=$sysconfdir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
255 | sharedstatedir=$sharedstatedir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
256 | localstatedir=$localstatedir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
257 | runstatedir=$runstatedir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
258 | includedir=$includedir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
259 | infodir=$infodir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
260 | mandir=$mandir |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
261 | localedir=$localedir |
0 | 262 | __EOF__ |
263 | ||
264 | # toolchain detection utilities | |
265 | . make/toolchain.sh | |
266 | ||
267 | # | |
268 | # DEPENDENCIES | |
269 | # | |
270 | ||
271 | # check languages | |
272 | lang_c= | |
273 | lang_cpp= | |
274 | if detect_c_compiler ; then | |
275 | lang_c=1 | |
276 | fi | |
277 | ||
278 | # create buffer for make variables required by dependencies | |
279 | echo > "$TEMP_DIR/make.mk" | |
280 | ||
281 | test_pkg_config() | |
282 | { | |
283 | if "$PKG_CONFIG" --exists "$1" ; then : | |
284 | else return 1 ; fi | |
285 | if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : | |
286 | else return 1 ; fi | |
287 | if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then : | |
288 | else return 1 ; fi | |
289 | if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then : | |
290 | else return 1 ; fi | |
291 | return 0 | |
292 | } | |
293 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
294 | print_check_msg() |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
295 | { |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
296 | if [ -z "$1" ]; then |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
297 | shift |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
298 | printf "$@" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
299 | fi |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
300 | } |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
301 | |
0 | 302 | dependency_error_sdl2_ttf() |
303 | { | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
304 | print_check_msg "$dep_checked_sdl2_ttf" "checking for sdl2_ttf... " |
0 | 305 | # dependency sdl2_ttf |
306 | while true | |
307 | do | |
308 | if [ -z "$PKG_CONFIG" ]; then | |
309 | break | |
310 | fi | |
311 | if test_pkg_config "SDL2_ttf" "" "" "" ; then | |
312 | TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags SDL2_ttf`" | |
313 | TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs SDL2_ttf`" | |
314 | else | |
315 | break | |
316 | fi | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
317 | print_check_msg "$dep_checked_sdl2_ttf" "yes\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
318 | dep_checked_sdl2_ttf=1 |
0 | 319 | return 1 |
320 | done | |
321 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
322 | print_check_msg "$dep_checked_sdl2_ttf" "no\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
323 | dep_checked_sdl2_ttf=1 |
0 | 324 | return 0 |
325 | } | |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
326 | dependency_error_asan() |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
327 | { |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
328 | print_check_msg "$dep_checked_asan" "checking for asan... " |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
329 | # dependency asan toolchain="gnuc" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
330 | while true |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
331 | do |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
332 | if notistoolchain "gnuc"; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
333 | break |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
334 | fi |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
335 | TEMP_CFLAGS="$TEMP_CFLAGS -fsanitize=address" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
336 | TEMP_LDFLAGS="$TEMP_LDFLAGS -fsanitize=address" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
337 | print_check_msg "$dep_checked_asan" "yes\n" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
338 | dep_checked_asan=1 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
339 | return 1 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
340 | done |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
341 | |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
342 | print_check_msg "$dep_checked_asan" "no\n" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
343 | dep_checked_asan=1 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
344 | return 0 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
345 | } |
0 | 346 | dependency_error_sdl2() |
347 | { | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
348 | print_check_msg "$dep_checked_sdl2" "checking for sdl2... " |
0 | 349 | # dependency sdl2 |
350 | while true | |
351 | do | |
352 | if [ -z "$PKG_CONFIG" ]; then | |
353 | break | |
354 | fi | |
355 | if test_pkg_config "sdl2" "" "" "" ; then | |
356 | TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags sdl2`" | |
357 | TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs sdl2`" | |
358 | else | |
359 | break | |
360 | fi | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
361 | print_check_msg "$dep_checked_sdl2" "yes\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
362 | dep_checked_sdl2=1 |
0 | 363 | return 1 |
364 | done | |
365 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
366 | print_check_msg "$dep_checked_sdl2" "no\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
367 | dep_checked_sdl2=1 |
0 | 368 | return 0 |
369 | } | |
88
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
370 | dependency_error_sdl2_image() |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
371 | { |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
372 | print_check_msg "$dep_checked_sdl2_image" "checking for sdl2_image... " |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
373 | # dependency sdl2_image |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
374 | while true |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
375 | do |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
376 | if [ -z "$PKG_CONFIG" ]; then |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
377 | break |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
378 | fi |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
379 | if test_pkg_config "SDL2_image" "" "" "" ; then |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
380 | TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags SDL2_image`" |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
381 | TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs SDL2_image`" |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
382 | else |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
383 | break |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
384 | fi |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
385 | print_check_msg "$dep_checked_sdl2_image" "yes\n" |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
386 | dep_checked_sdl2_image=1 |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
387 | return 1 |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
388 | done |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
389 | |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
390 | print_check_msg "$dep_checked_sdl2_image" "no\n" |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
391 | dep_checked_sdl2_image=1 |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
392 | return 0 |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
393 | } |
0 | 394 | dependency_error_glew() |
395 | { | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
396 | print_check_msg "$dep_checked_glew" "checking for glew... " |
0 | 397 | # dependency glew |
398 | while true | |
399 | do | |
400 | if [ -z "$PKG_CONFIG" ]; then | |
401 | break | |
402 | fi | |
403 | if test_pkg_config "glew" "" "" "" ; then | |
404 | TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags glew`" | |
405 | TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs glew`" | |
406 | else | |
407 | break | |
408 | fi | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
409 | print_check_msg "$dep_checked_glew" "yes\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
410 | dep_checked_glew=1 |
0 | 411 | return 1 |
412 | done | |
413 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
414 | print_check_msg "$dep_checked_glew" "no\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
415 | dep_checked_glew=1 |
0 | 416 | return 0 |
417 | } | |
418 | dependency_error_ucx() | |
419 | { | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
420 | print_check_msg "$dep_checked_ucx" "checking for ucx... " |
0 | 421 | # dependency ucx |
422 | while true | |
423 | do | |
424 | if check_lib ucx cx/common.h > /dev/null ; then | |
425 | : | |
426 | else | |
427 | break | |
428 | fi | |
429 | TEMP_LDFLAGS="$TEMP_LDFLAGS -lucx" | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
430 | print_check_msg "$dep_checked_ucx" "yes\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
431 | dep_checked_ucx=1 |
0 | 432 | return 1 |
433 | done | |
434 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
435 | print_check_msg "$dep_checked_ucx" "no\n" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
436 | dep_checked_ucx=1 |
0 | 437 | return 0 |
438 | } | |
439 | ||
440 | # start collecting dependency information | |
441 | echo > "$TEMP_DIR/flags.mk" | |
442 | ||
443 | DEPENDENCIES_FAILED= | |
444 | ERROR=0 | |
445 | # unnamed dependencies | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
446 | TEMP_CFLAGS="$CFLAGS" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
447 | TEMP_CXXFLAGS="$CXXFLAGS" |
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
448 | TEMP_LDFLAGS="$LDFLAGS" |
0 | 449 | while true |
450 | do | |
451 | while true | |
452 | do | |
453 | if [ -z "$lang_c" ] ; then | |
454 | ERROR=1 | |
455 | break | |
456 | fi | |
457 | ||
128 | 458 | TEMP_LDFLAGS="$TEMP_LDFLAGS -lm" |
84
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
459 | cat >> "$TEMP_DIR/make.mk" << __EOF__ |
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
460 | srcdir=$SRCDIR |
e4116b4b5774
put snake test program into separate directory
Mike Becker <universe@uap-core.de>
parents:
76
diff
changeset
|
461 | __EOF__ |
0 | 462 | break |
463 | done | |
464 | break | |
465 | done | |
466 | ||
103 | 467 | # build type |
468 | if [ "$BUILD_TYPE" = "debug" ]; then | |
469 | TEMP_CFLAGS="\${DEBUG_CFLAGS}$TEMP_CFLAGS" | |
470 | TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS}$TEMP_CXXFLAGS" | |
471 | fi | |
472 | if [ "$BUILD_TYPE" = "release" ]; then | |
473 | TEMP_CFLAGS="\${RELEASE_CFLAGS}$TEMP_CFLAGS" | |
474 | TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS}$TEMP_CXXFLAGS" | |
475 | fi | |
476 | ||
0 | 477 | # add general dependency flags to flags.mk |
478 | echo "# general flags" >> "$TEMP_DIR/flags.mk" | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
479 | if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then |
0 | 480 | echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
481 | fi | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
482 | if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then |
0 | 483 | echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
484 | fi | |
485 | if [ -n "${TEMP_LDFLAGS}" ]; then | |
486 | echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" | |
487 | fi | |
488 | ||
489 | # | |
490 | # OPTION VALUES | |
491 | # | |
492 | ||
493 | # | |
494 | # TARGETS | |
495 | # | |
496 | ||
497 | echo >> "$TEMP_DIR/flags.mk" | |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
498 | echo "configuring global target" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
499 | echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk" |
0 | 500 | TEMP_CFLAGS= |
501 | TEMP_CXXFLAGS= | |
502 | TEMP_LDFLAGS= | |
503 | ||
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
504 | if dependency_error_ucx; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
505 | DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ucx " |
0 | 506 | ERROR=1 |
507 | fi | |
508 | if dependency_error_sdl2; then | |
509 | DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED sdl2 " | |
510 | ERROR=1 | |
511 | fi | |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
512 | if dependency_error_sdl2_ttf; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
513 | DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED sdl2_ttf " |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
514 | ERROR=1 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
515 | fi |
88
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
516 | if dependency_error_sdl2_image; then |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
517 | DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED sdl2_image " |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
518 | ERROR=1 |
6234b7ea48f3
add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents:
84
diff
changeset
|
519 | fi |
0 | 520 | if dependency_error_glew; then |
521 | DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED glew " | |
522 | ERROR=1 | |
523 | fi | |
524 | ||
525 | # Features | |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
526 | if [ -n "$FEATURE_ASAN" ]; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
527 | # check dependency |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
528 | if dependency_error_asan ; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
529 | # "auto" features can fail and are just disabled in this case |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
530 | if [ "$FEATURE_ASAN" = "auto" ]; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
531 | DISABLE_FEATURE_ASAN=1 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
532 | else |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
533 | DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED asan " |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
534 | ERROR=1 |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
535 | fi |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
536 | fi |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
537 | if [ -n "$DISABLE_FEATURE_ASAN" ]; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
538 | unset FEATURE_ASAN |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
539 | fi |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
540 | fi |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
541 | if [ -n "$FEATURE_ASAN" ]; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
542 | : |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
543 | else |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
544 | : |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
545 | fi |
0 | 546 | |
547 | ||
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
548 | if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then |
0 | 549 | echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
550 | fi | |
76
eb16be99b0ad
update to newest versions of uwproj and ucx
Mike Becker <universe@uap-core.de>
parents:
1
diff
changeset
|
551 | if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then |
0 | 552 | echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
553 | fi | |
554 | if [ -n "${TEMP_LDFLAGS}" ]; then | |
555 | echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" | |
556 | fi | |
557 | ||
558 | ||
559 | # final result | |
560 | if [ $ERROR -ne 0 ]; then | |
561 | echo | |
562 | echo "Error: Unresolved dependencies" | |
563 | echo "$DEPENDENCIES_FAILED" | |
564 | abort_configure | |
565 | fi | |
566 | ||
567 | echo "configure finished" | |
568 | echo | |
103 | 569 | echo "Toolchain" |
570 | echo " name: $TOOLCHAIN_NAME" | |
571 | if [ -n "$TOOLCHAIN_CC" ]; then | |
572 | echo " cc: $TOOLCHAIN_CC" | |
573 | fi | |
574 | if [ -n "$TOOLCHAIN_CXX" ]; then | |
575 | echo " cxx: $TOOLCHAIN_CXX" | |
576 | fi | |
577 | if [ -n "$TOOLCHAIN_WSIZE" ]; then | |
578 | echo " word size: $TOOLCHAIN_WSIZE bit" | |
579 | fi | |
580 | if [ -n "$TOOLCHAIN_CSTD" ]; then | |
581 | echo " default C std: $TOOLCHAIN_CSTD" | |
582 | fi | |
583 | echo | |
0 | 584 | echo "Build Config:" |
103 | 585 | echo " prefix: $prefix" |
586 | echo " exec_prefix: $exec_prefix" | |
587 | if [ "$orig_bindir" != "$bindir" ]; then | |
588 | echo " bindir: $bindir" | |
589 | fi | |
590 | if [ "$orig_sbindir" != "$sbindir" ]; then | |
591 | echo " sbindir: $sbindir" | |
592 | fi | |
593 | if [ "$orig_libdir" != "$libdir" ]; then | |
594 | echo " libdir: $libdir" | |
595 | fi | |
596 | if [ "$orig_libexecdir" != "$libexecdir" ]; then | |
597 | echo " libexecdir: $libexecdir" | |
598 | fi | |
599 | if [ "$orig_datarootdir" != "$datarootdir" ]; then | |
600 | echo " datarootdir: $datarootdir" | |
601 | fi | |
602 | if [ "$orig_datadir" != "$datadir" ]; then | |
603 | echo " datadir: $datadir" | |
604 | fi | |
605 | if [ "$orig_sysconfdir" != "$sysconfdir" ]; then | |
606 | echo " sysconfdir: $sysconfdir" | |
607 | fi | |
608 | if [ "$orig_sharedstatedir" != "$sharedstatedir" ]; then | |
609 | echo " sharedstatedir: $sharedstatedir" | |
610 | fi | |
611 | if [ "$orig_localstatedir" != "$localstatedir" ]; then | |
612 | echo " localstatedir: $localstatedir" | |
613 | fi | |
614 | if [ "$orig_runstatedir" != "$runstatedir" ]; then | |
615 | echo " runstatedir: $runstatedir" | |
616 | fi | |
617 | if [ "$orig_includedir" != "$includedir" ]; then | |
618 | echo " includedir: $includedir" | |
619 | fi | |
620 | if [ "$orig_infodir" != "$infodir" ]; then | |
621 | echo " infodir: $infodir" | |
622 | fi | |
623 | if [ "$orig_mandir" != "$mandir" ]; then | |
624 | echo " mandir: $mandir" | |
625 | fi | |
626 | if [ "$orig_localedir" != "$localedir" ]; then | |
627 | echo " localedir: $localedir" | |
628 | fi | |
0 | 629 | echo |
138
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
630 | echo "Features:" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
631 | if [ -n "$FEATURE_ASAN" ]; then |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
632 | echo " asan: on" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
633 | else |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
634 | echo " asan: off" |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
635 | fi |
2ceb0368b02d
add option to enable ASan
Mike Becker <universe@uap-core.de>
parents:
128
diff
changeset
|
636 | echo |
0 | 637 | |
638 | # generate the config.mk file | |
103 | 639 | pwd=`pwd` |
0 | 640 | cat > "$TEMP_DIR/config.mk" << __EOF__ |
641 | # | |
103 | 642 | # config.mk generated by: |
643 | # pwd: $pwd | |
644 | # $0 $@ | |
0 | 645 | # |
646 | ||
647 | __EOF__ | |
648 | write_toolchain_defaults "$TEMP_DIR/toolchain.mk" | |
103 | 649 | cat "$TEMP_DIR/config.mk" "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk |
0 | 650 | rm -Rf "$TEMP_DIR" |