annotate configure.rc @ 256:7520e2260097

- added to configure some detection on how to compile .s/.S with --noexecstack (or similar), as compilers' defaults are often insane - since no-execstack handling is now in build, remove .note.GNU-stack section markers (were of limites use, anyways, b/c unportable or implemented inconsistently across platforms) - some ToDo, etc. updates
author Tassilo Philipp
date Sat, 20 May 2017 00:02:59 +0200
parents 3e629dc19168
children ed19b429a152
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 #!/bin/rc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 #//////////////////////////////////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 # Copyright (c) 2007-2010 Daniel Adler <dadler@uni-goettingen.de>,
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 # Tassilo Philipp <tphilipp@potion-studios.com>
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 # Permission to use, copy, modify, and distribute this software for any
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 # purpose with or without fee is hereby granted, provided that the above
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 # copyright notice and this permission notice appear in all copies.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 #//////////////////////////////////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 # --- configure settings ------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 PACKAGE=dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 CONFIG_PREFIX=/usr/local #@@@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 # --- output error message ----------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 fn error {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 echo error: $*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 exit 1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 # --- output warning message --------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 fn warning {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 echo warning: $*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 # --- output info message -----------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 fn info {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 echo $*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 # --- print usage -------------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 fn usage {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 echo $PACKAGE' configuration shell-script'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 echo 'Usage:'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 echo ' configure [ options ]'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 echo
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 echo 'Options:'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 echo ' --help'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 echo ' -h print this page'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 #echo
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 #echo ' --target-x86 build for x86 architecture platform'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 #echo ' --target-x64 build for x64 architecture platform'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 #echo ' --target-ppc32 build for ppc32 architecture platform'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 #echo ' --target-arm-arm build for ARM architecture platform (ARM mode)'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 #echo ' --target-arm-thumb build for ARM architecture platform (THUMB mode)'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 #echo
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 #echo ' --tool-pcc use Portable C Compiler'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 #echo
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 #echo ' --asm-xa use Plan9 Assemblers (0a, 1a, 2a, etc.)'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 #echo
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 #echo ' --config-release build release version (default)'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 #echo ' --config-debug build debug version'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 echo
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 exit 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 # --- guess operating system -------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 CONFIG_OS=()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 fn guess_os {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 CONFIG_OS='plan9'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 info 'guess os '$CONFIG_OS
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 # --- guess architecture -----------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 CONFIG_ARCH=()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 fn guess_arch {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 CONFIG_ARCH='x86'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 switch($cputype) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85 case 386
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 CONFIG_ARCH='x86'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 case amd64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 CONFIG_ARCH='x64'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 case arm
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 CONFIG_ARCH='arm32_arm'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91 case power
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92 CONFIG_ARCH='ppc32'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93 case mips
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
94 CONFIG_ARCH='mips32'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
95 case *
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
96 warning 'unknown architecture '$cputype' - using default (x86)'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
97 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
98 info 'guess arch '$CONFIG_ARCH
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
100
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
101 # --- guess tool chain -------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
102
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
103 CONFIG_TOOL=()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
104 fn guess_tool {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
105 #CONFIG_TOOL=`{grep CC /$objtype/mkfile | sed s/CC.//}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
106 CONFIG_TOOL='pcc'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
107 info 'guess tool '$CONFIG_TOOL
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
108 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110 # --- guess assembler --------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
112 CONFIG_ASM=()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
113 fn guess_asm {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
114 CONFIG_ASM=`{grep AS /$objtype/mkfile | sed s/AS.//}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
115 info 'guess assembler '$CONFIG_ASM
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
116 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
117
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
118 # --- process arguments ------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
119
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
120 fn args {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
121 while(! ~ $#* 0 && ~ $1 -*) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122 OPT=$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123 shift
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125 switch($OPT) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126 case --help -h
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
127 usage
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
128 #case --target-x86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
129 #CONFIG_ARCH='x86'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
130 #case --target-x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
131 #CONFIG_ARCH='x64'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
132 #case --target-ppc32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
133 #CONFIG_ARCH='ppc32'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
134 #case --target-arm-arm
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
135 #CONFIG_ARCH='arm32_arm'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
136 #case --target-arm-thumb
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
137 #CONFIG_ARCH='arm32_thumb'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
138 #case --tool-pcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
139 #CONFIG_TOOL=pcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
140 #CONFIG_ASM=2a
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
141 #case --tool-xa
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
142 #CONFIG_ASM=2a
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
143 #case --config-release
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
144 #CONFIG_CONFIG=release
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
145 #case --config-debug
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
146 #CONFIG_CONFIG=debug
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
147 case *
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
148 warning 'unknown option '$OPT
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
149 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
150 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
151 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
152
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
153 # --- guess variables --------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
154
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
155 fn guess {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
156 if(~ $#CONFIG_OS 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
157 guess_os
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
158 if(~ $#CONFIG_OS 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
159 error 'unsupported operating system '$OS
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
160 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
161 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
162
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
163 if(~ $#CONFIG_ARCH 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
164 guess_arch
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
165 if(~ $#CONFIG_ARCH 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
166 error 'unsupported architecture '$ARCH
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
167 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
168 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
169
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
170 if(~ $#CONFIG_TOOL 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
171 guess_tool
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
172 if(~ $#CONFIG_TOOL 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
173 error 'no tool'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
174 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
175 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
176
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
177 if(~ $#CONFIG_ASM 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
178 guess_asm
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
179 if(~ $#CONFIG_ASM 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
180 error 'no assembler tool'
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
181 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
182 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
183
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
184 if(~ $#CONFIG_CONFIG 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
185 CONFIG_CONFIG=release
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
186 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
187 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
188
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
189 # --- set default variables --------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
190
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
191 fn set_defaults {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
192 CONFIG_HOST=$CONFIG_OS
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
193 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
194
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
195 # --- derive variables -------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
196
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
197 fn derive_vars {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
198 BUILD_HOST=$CONFIG_HOST
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
199 if(! ~ $CONFIG_HOST $CONFIG_OS) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
200 BUILD_HOST=$CONFIG_HOST'_'$CONFIG_OS
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
201 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
202 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
203
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
204 # --- write ConfigVars files ------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
205
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
206 fn output {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
207 echo '#auto-generated by '$PACKAGE'/configure' >$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
208 echo 'CONFIG_PACKAGE='$PACKAGE >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
209 echo 'CONFIG_HOST='$CONFIG_HOST >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
210 echo 'CONFIG_OS='$CONFIG_OS >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
211 echo 'CONFIG_ARCH='$CONFIG_ARCH >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
212 echo 'CONFIG_TOOL='$CONFIG_TOOL >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
213 echo 'CONFIG_ASM='$CONFIG_ASM >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
214 echo 'CONFIG_CONFIG='$CONFIG_CONFIG >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
215 echo 'CONFIG_PREFIX='$CONFIG_PREFIX >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
216 if(! ~ $#CONFIG_BUILDPREFIX 0) {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
217 echo 'CONFIG_BUILDPREFIX='$CONFIG_BUILDPREFIX >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
218 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
219 echo '' >>$1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
220 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
221
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
222 # --- main -------------------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
223
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
224 fn main {
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
225 args $*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
226 info '* configure package '$PACKAGE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
227 guess
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
228 set_defaults
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
229 derive_vars
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
230 output ConfigVars
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
231 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
232
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
233 main $*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
234