Browse code

Re-add assert-binary for outside scripts. Fix clean by removing .build_done properly. Fix other stupid bug.

Nat! authored on 02-04-2017 16:16:29
Showing 6 changed files
... ...
@@ -9,6 +9,13 @@ development environment of tools and libraries.
9 9
 
10 10
 **mulle-brew** helps you set-up and share such playgrounds.
11 11
 
12
+## Advantages
13
+
14
+* Keep the runtime and your system clear off temporary downloads.
15
+* Updating brew libraries for one project, doesn't neccessarily impact parallel projects
16
+* An easy way to share the required build environments
17
+
18
+
12 19
 ## How does it work ?
13 20
 
14 21
 In the simplest form, `mulle-brew` is just a simple loop over a
... ...
@@ -32,6 +39,8 @@ and the **libpng** library in `addictions/lib` and `addictions/include`.
32 39
 `addictions` is your playground's '/usr/local' so to speak
33 40
 
34 41
 
42
+
43
+
35 44
 ## Various Playground configurations
36 45
 
37 46
 
... ...
@@ -30,7 +30,7 @@
30 30
 #   POSSIBILITY OF SUCH DAMAGE.
31 31
 MULLE_EXECUTABLE_VERSION_MAJOR=3
32 32
 MULLE_EXECUTABLE_VERSION_MINOR=2
33
-MULLE_EXECUTABLE_VERSION_PATCH=1
33
+MULLE_EXECUTABLE_VERSION_PATCH=3
34 34
 
35 35
 MULLE_EXECUTABLE_VERSION="${MULLE_EXECUTABLE_VERSION_MAJOR}.${MULLE_EXECUTABLE_VERSION_MINOR}.${MULLE_EXECUTABLE_VERSION_PATCH}"
36 36
 
... ...
@@ -30,7 +30,7 @@
30 30
 #   POSSIBILITY OF SUCH DAMAGE.
31 31
 MULLE_EXECUTABLE_VERSION_MAJOR=3
32 32
 MULLE_EXECUTABLE_VERSION_MINOR=2
33
-MULLE_EXECUTABLE_VERSION_PATCH=1
33
+MULLE_EXECUTABLE_VERSION_PATCH=3
34 34
 
35 35
 MULLE_EXECUTABLE_VERSION="${MULLE_EXECUTABLE_VERSION_MAJOR}.${MULLE_EXECUTABLE_VERSION_MINOR}.${MULLE_EXECUTABLE_VERSION_PATCH}"
36 36
 
... ...
@@ -155,10 +155,10 @@ find_compiler()
155 155
 
156 156
    if [ ! -z "${compiler}" ]
157 157
    then
158
-      compiler=`which_binary "${toolname}"`
158
+      compiler=`which_binary "${compiler}"`
159 159
       if [ -z "${compiler}" ]
160 160
       then
161
-         suggest_binary_install "${toolname}"
161
+         suggest_binary_install "${compiler}"
162 162
          exit 1
163 163
       fi
164 164
       echo "${compiler}"
... ...
@@ -127,7 +127,7 @@ setup_clean_environment()
127 127
 
128 128
    CLEAN_EMPTY_PARENTS="`read_config_setting "clean_empty_parent_folders" "YES"`"
129 129
 
130
-   OUTPUT_CLEANABLE_FILES="${REPOS_DIR}/.bootstrap_build_done"
130
+   OUTPUT_CLEANABLE_FILES="${REPOS_DIR}/.build_done"
131 131
 
132 132
    BUILD_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "clean_folders" "${CLONESBUILD_DIR}
133 133
 ${DEPENDENCIES_DIR}/tmp"`"
... ...
@@ -213,6 +213,29 @@ which_binary()
213 213
 }
214 214
 
215 215
 
216
+# used by test scripts outside of mulle-bootstrap
217
+assert_binary()
218
+{
219
+   local toolname
220
+   local toolfamily
221
+
222
+   toolname="$1"
223
+   toolfamily="$2"
224
+
225
+   [ -z "${toolname}" ] && internal_fail "toolname for \"${toolfamily}\" is empty"
226
+
227
+   local path
228
+
229
+   path=`which_binary "${toolname}"`
230
+   if [ -z "${path}" ]
231
+   then
232
+      which_binary "${toolname}"
233
+      fail "${toolname} is an unknown build tool (PATH=$PATH)"
234
+   fi
235
+   # echo "$path"
236
+}
237
+
238
+
216 239
 #
217 240
 # toolname : ex. mulle-clang
218 241
 # toolfamily: CC
... ...
@@ -255,3 +278,16 @@ verify_binary()
255 278
    return 1
256 279
 }
257 280
 
281
+
282
+
283
+#
284
+# command because it's like `command -v gcc`
285
+#
286
+command_initialize()
287
+{
288
+   [ -z "${MULLE_BOOTSTRAP_LOGGING_SH}" ] && . mulle-bootstrap-logging.sh
289
+
290
+   log_debug ":command_initialize:"
291
+}
292
+
293
+command_initialize