Browse code

Update SETTINGS and rename some settings to be more accessible. More fluff output in various places.

Nat! authored on 01-10-2015 23:01:24 • Nat! committed on 02-10-2015 11:56:52
Showing 10 changed files
... ...
@@ -20,7 +20,7 @@ git@github.com:mulle-nat/UISS.git
20 20
 git@github.com:mulle-nat/Finch.git
21 21
 ```
22 22
 
23
-Now **mulle-bootstrap** can iterate over them and check them out into a common directory `.repos`. Ok the repository **MulleScion** has a local clone in the parent directory. mulle-bootstrap can clone (or even symlink) from there, if you want.
23
+Now **mulle-bootstrap** can iterate over them and check them out into a common directory `.repos`. If  there is a local clone of the  repository **MulleScion** in the parent directory of the projeczt, then mulle-bootstrap can clone (or even symlink) from there, if you want.
24 24
 
25 25
 After cloning **mulle-bootstrap** does a simple security check with respect to `.bootstrap` shell scripts and Xcode script phases. Finally it looks for a `.bootstrap` folder in the freshly checked out repositories! They might have dependencies too, if they do, those dependencies are added to the source repositories dependencies.
26 26
 
... ...
@@ -84,9 +84,3 @@ Prepares a Xcode project to use the libraries that are compiled into the `./depe
84 84
 
85 85
 Tag your project and all fetched repositories, with a tag.
86 86
 
87
-
88
-## Known limitations
89
-
90
-* only works for libraries so far
91
-* not tested too much
92
-
... ...
@@ -23,7 +23,6 @@ buildorder              |  repositories to build in that order. You only need to
23 23
 configurations          |  configurations to build              | Debug\nRelease
24 24
 sdks                    |  SDKs to build                        | Default
25 25
 
26
-
27 26
 Build Settings
28 27
 ===================
29 28
 
... ...
@@ -73,6 +72,24 @@ project        | build,xcode   | The Xcode project file to use
73 72
 schemes        | build         | The Xcode schemes to build
74 73
 targets        | build         | The Xcode targets to build
75 74
 
75
+Fetch Settings
76
+===================
77
+
78
+1. ./bootstrap.auto/settings
79
+2. ./bootstrap.local/settings
80
+3. ./bootstrap/settings
81
+
82
+
83
+Setting Name       |  Description
84
+-------------------|----------------------------------------
85
+brews              | Homebrew formulae to install
86
+gems               | Ruby packages to install with gem
87
+gits               | Repositories to clone, specify the URLs
88
+pips               | Python packages to install with pip
89
+taps               | Homebrew taps to install
90
+tarballs           | Tarballs to install (currently filesystem only)
91
+
92
+
76 93
 
77 94
 Config Settings
78 95
 ===================
... ...
@@ -87,40 +104,34 @@ Environment variables use the setting name, transformed to upper case and prepen
87 104
 3. ./bootstrap.auto/config
88 105
 5. ~/.mulle-bootstrap
89 106
 
90
-Setting Name                   |  Description                              | Default
91
-preferences           | list order of preferred build tools. Will be used in deciding if to use cmake or xcodebuild, if both are available       | script\nxcodebuild\ncmake\nconfigure
92
-framework_path   | path of the Frameworks folder in dependencies           | /Frameworks
93
-header_path      | path of the headers folder in dependencies              | /include
94
-lib_path         | path of the lib folder in dependencies                  | /lib
95
-symlink_forbidden | mulle-bootstrap will not attempt to symlink            | NO
96
-clean_before_build | should mulle-bootstrap clean before building          | NO
97
-                  |                                                        |
98
-clean_folders      | folders to delete for mulle-bootstrap clean           | build/.repos
99
-dist_clean_folders  | folders to delete for mulle-bootstrap clean dist     | .repos\n/.bootstrap.auto
100
-output_clean_folders| folders to delete for mulle-bootstrap clean output   | dependencies
107
+Setting Name                   |  Description                                  | Default
108
+-------------------------------|-----------------------------------------------|----------------
109
+clean_before_build             | should mulle-bootstrap clean before building  | NO
110
+dont_clean_dependencies_before_build |  usually before a build, mulle-bootstrap cleans dependencies to avoid surprising  "it worked the second time" builds due to wrong buildorder
111
+                                                                               | NO
112
+framework_path                  | name of the Frameworks folder                | Frameworks
113
+header_dir_name                 | name of the headers folder in
114
+dependencies. e.g. You dislike "include" and favor "headers".                                                                      | include
115
+library_dir_name                | as above, but for libraries                   | lib
116
+preferences                    | list order of preferred build tools. Will be used in deciding if to use cmake or xcodebuild, if both are available       | script\nxcodebuild\ncmake\nconfigure
117
+headers_c_and_d_prefix  | where the build should put headers, relative to dependencies | /usr/local
118
+others_c_and_d_prefix   | where the build should put other files (excluding libraries, frameworks and headers), relative to dependencies | /usr/local
119
+symlink_forbidden              | mulle-bootstrap will not attempt to symlink          | NO
120
+trace                          | see MULLE_BOOTSTRAP_TRACE for more info   | NO
121
+xcodebuild                     | tool to use instead of xcodebuild (xctool ?) | xcodebuild
122
+                     |                                                     |
123
+clean_folders        | folders to delete for mulle-bootstrap clean         | build/.repos
124
+dist_clean_folders   | folders to delete for mulle-bootstrap clean dist    | .repos\n/.bootstrap.auto
125
+output_clean_folders | folders to delete for mulle-bootstrap clean output  | dependencies
101 126
                   |                                                        |
102 127
 repos_foldername  |  Where to place cloned repositories                    | .repos
103 128
 output_foldername |  DSTROOT, --prefix of headers and libraries            | dependencies
104 129
 build_foldername  |  OBJROOT, build root for intermediate files like .o    | build/.repos
105
-
106
-
107
-Fetch Settings
108
-===================
109
-
110
-1. ./bootstrap.auto/settings
111
-2. ./bootstrap.local/settings
112
-3. ./bootstrap/settings
113
-
114
-
115
-Setting Name       |  Description
116
-brews              | Homebrew formulae to install
117
-gems               | Ruby gems to install
118
-gits               | Repositories to clone, specify the URLs
119
-taps               | Homebrew taps to install
120
-
121
-
130
+      |                                                        |
131
+no_warn_environment_setting | don't warn when a setting is defined by environment        | NO
132
+no_warn_local_setting       | don't warn when a setting is defined by .bootstrap.local   | NO
133
+no_warn_user_setting        | don't warn when a setting is defined by ~/.mulle-bootstrap | NO
134
+      |                                                        |
122 135
 
123 136
 Fetch Script Settings
124 137
 ==========================
... ...
@@ -136,7 +147,6 @@ post-upgrade.sh
136 147
 pre-tag.sh
137 148
 post-tag.sh
138 149
 
139
-
140 150
 Build Script Settings
141 151
 ==========================
142 152
 
... ...
@@ -74,7 +74,7 @@ usage()
74 74
 {
75 75
    cat <<EOF
76 76
 usage: mulle-bootstrap [-n][-v][-s] [command] [--help]
77
-       version 0.3
77
+       version 0.4
78 78
 
79 79
  Specify the -h or --help option after each command to get more help.
80 80
 
... ...
@@ -52,9 +52,6 @@ fi
52 52
 
53 53
 
54 54
 CLEAN_BEFORE_BUILD=`read_config_setting "clean_before_build"`
55
-HEADER_PATH=`read_config_setting "header_path" "/include"`
56
-LIBRARY_PATH=`read_config_setting "library_path" "/lib"`
57
-FRAMEWORK_PATH=`read_config_setting "framework_path" "/Frameworks"`
58 55
 
59 56
 #
60 57
 # move stuff produced my cmake and configure to places
... ...
@@ -76,10 +73,10 @@ dispense_headers()
76 73
    then
77 74
       if dir_has_files "${src}"
78 75
       then
79
-         usrlocal="`read_build_setting "headers_c_and_d_prefix" "/usr/local"`"
76
+         usrlocal="`read_config_setting "headers_c_and_d_prefix" "/usr/local"`"
80 77
 
81
-         dst="${REFERENCE_DEPENDENCY_SUBDIR}${usrlocal}${HEADER_PATH}"
82
-         mkdir_if_missing "${REFERENCE_DEPENDENCY_SUBDIR}${usrlocal}${HEADER_PATH}"
78
+         dst="${REFERENCE_DEPENDENCY_SUBDIR}${usrlocal}/${HEADER_DIR_NAME}"
79
+         mkdir_if_missing "${REFERENCE_DEPENDENCY_SUBDIR}${usrlocal}/${HEADER_DIR_NAME}"
83 80
 
84 81
          log_fluff "Copying ${src} to ${dst}"
85 82
          exekutor find -x "${src}" ! -path "${src}" -depth 1 -type d -print0 | \
... ...
@@ -152,7 +149,7 @@ collect_and_dispense_product()
152 149
       dispense_headers "${src}"
153 150
 
154 151
       src="${BUILD_DEPENDENCY_SUBDIR}/lib${subdir}"
155
-      dispense_binaries "${src}" "f" "${LIBRARY_PATH}"
152
+      dispense_binaries "${src}" "f" "/${LIBRARY_DIR_NAME}"
156 153
 
157 154
       src="${BUILD_DEPENDENCY_SUBDIR}/Frameworks${subdir}"
158 155
       dispense_binaries "${src}" "d" "${FRAMEWORK_PATH}"
... ...
@@ -163,7 +160,7 @@ collect_and_dispense_product()
163 160
       dispense_headers "${src}"
164 161
 
165 162
       src="${BUILD_DEPENDENCY_SUBDIR}/usr/local/lib"
166
-      dispense_binaries "${src}" "f" "${LIBRARY_PATH}"
163
+      dispense_binaries "${src}" "f" "/${LIBRARY_DIR_NAME}"
167 164
 
168 165
       # coming from Cmake and configure
169 166
       src="${BUILD_DEPENDENCY_SUBDIR}/usr/local/Frameworks"
... ...
@@ -191,7 +188,7 @@ collect_and_dispense_product()
191 188
    # probably should hack all executables with install_name_tool that contain .ref
192 189
    #
193 190
    # now copy over the rest of the output
194
-   usrlocal="`read_build_setting "others_c_and_d_prefix" "/usr/local"`"
191
+   usrlocal="`read_config_setting "others_c_and_d_prefix" "/usr/local"`"
195 192
 
196 193
    log_fluff "Considering copying ${BUILD_DEPENDENCY_SUBDIR}/*"
197 194
 
... ...
@@ -310,35 +307,35 @@ build_cmake()
310 307
    log_info "Do a cmake ${C_MAGENTA}${configuration}${C_INFO} build of \
311 308
 ${C_MAGENTA}${name}${C_INFO} for SDK ${C_MAGENTA}${sdk}${C_INFO} ..."
312 309
 
313
-   mapped=`read_build_setting "$name" "cmake-${configuration}.map" "${configuration}"`
314
-   suffix=`determine_suffix "${configuration}" "${sdk}"`
315
-   sdk=`cmake_sdk_parameter "${sdk}"`
310
+   mapped="`read_build_setting "$name" "cmake-${configuration}.map" "${configuration}"`"
311
+   suffix="`determine_suffix "${configuration}" "${sdk}"`"
312
+   sdk="`cmake_sdk_parameter "${sdk}"`"
316 313
 
317 314
    local other_cflags
318 315
    local other_cppflags
319 316
    local other_ldflags
320 317
 
321
-   other_cflags=`gcc_cflags_value "${name}"`
322
-   other_cppflags=`gcc_cppflags_value "${name}"`
323
-   other_ldflags=`gcc_ldflags_value "${name}"`
318
+   other_cflags="`gcc_cflags_value "${name}"`"
319
+   other_cppflags="`gcc_cppflags_value "${name}"`"
320
+   other_ldflags="`gcc_ldflags_value "${name}"`"
324 321
 
325 322
    owd="${PWD}"
326 323
    # to avoid warning make sure directories are all there
327 324
    # TODO: I DONT LIKE THIS
328
-   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ]  &&  \
329
-      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}"
330
-   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ]  &&  \
331
-      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration}"
332
-   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ]  &&  \
333
-      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix}"
325
+   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ]  &&  \
326
+      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}"
327
+   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ]  &&  \
328
+      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration}"
329
+   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ]  &&  \
330
+      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix}"
334 331
 
335 332
    mkdir_if_missing "${builddir}"
336 333
    exekutor cd "${builddir}" || exit 1
337 334
 
338 335
       # check that relative ise right
339
-      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ] || exit 1
340
-      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration}" ] || exit 1
341
-      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix}" ] || exit 1
336
+      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ] || exit 1
337
+      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration}" ] || exit 1
338
+      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix}" ] || exit 1
342 339
 
343 340
       #
344 341
       # cmake doesn't seem to "get" CMAKE_CXX_FLAGS or -INCLUDE
... ...
@@ -348,26 +345,26 @@ ${C_MAGENTA}${name}${C_INFO} for SDK ${C_MAGENTA}${sdk}${C_INFO} ..."
348 345
       exekutor cmake "-DCMAKE_BUILD_TYPE=${mapped}" \
349 346
 "-DCMAKE_INSTALL_PREFIX:PATH=${owd}/${BUILD_DEPENDENCY_SUBDIR}/usr/local"  \
350 347
 "-DCMAKE_C_FLAGS=\
351
--I${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH} \
352
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix} \
353
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration} \
354
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH} \
348
+-I${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME} \
349
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix} \
350
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration} \
351
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME} \
355 352
 ${other_cflags} \
356 353
 ${sdk}" \
357 354
 "-DCMAKE_CXX_FLAGS=\
358
--I${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH} \
359
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix} \
360
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration} \
361
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH} \
355
+-I${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME} \
356
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix} \
357
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration} \
358
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME} \
362 359
 ${other_cppflags} \
363 360
 ${sdk}" \
364 361
 "-DCMAKE_LD_FLAGS=\
365
--L${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}${suffix} \
366
--L${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}/${configuration} \
367
--L${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH} \
368
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix} \
369
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration} \
370
--F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH} \
362
+-L${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}${suffix} \
363
+-L${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}/${configuration} \
364
+-L${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME} \
365
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix} \
366
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration} \
367
+-F${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME} \
371 368
 ${other_ldflags} \
372 369
 ${sdk}" \
373 370
 "${relative}/${srcdir}" 1>&2  || exit 1
... ...
@@ -425,45 +422,45 @@ ${C_MAGENTA}${name}${C_INFO} for SDK ${C_MAGENTA}${sdk}${C_INFO} ..."
425 422
 
426 423
    owd="${PWD}"
427 424
    # to avoid warnings make sure directories are all there
428
-   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ]  &&  \
429
-      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}"
430
-   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ]  &&  \
431
-      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration}"
432
-   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ]  &&  \
433
-      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix}"
425
+   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ]  &&  \
426
+      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}"
427
+   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ]  &&  \
428
+      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration}"
429
+   [ ! -e "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ]  &&  \
430
+      mkdir_if_missing "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix}"
434 431
 
435 432
    mkdir_if_missing "${builddir}" 2> /dev/null
436 433
    exekutor cd "${builddir}" || exit 1
437 434
 
438 435
       # check that relative is right
439
-      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" ] || exit 1
440
-      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration}" ] || exit 1
441
-      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix}" ] || exit 1
436
+      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" ] || exit 1
437
+      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration}" ] || exit 1
438
+      exekutor [ -d "${relative}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix}" ] || exit 1
442 439
 
443 440
       set -f
444 441
 
445 442
       # use absolute paths for configure, safer (and easier to read IMO)
446 443
       CFLAGS="\
447
--I${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH} \
448
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix} \
449
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration} \
450
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH} \
444
+-I${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME} \
445
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix} \
446
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration} \
447
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME} \
451 448
 ${other_cflags} \
452 449
 ${sdk}" \
453 450
       CPPFLAGS="\
454
--I${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH} \
455
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix} \
456
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration} \
457
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH} \
451
+-I${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME} \
452
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix} \
453
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration} \
454
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME} \
458 455
 ${other_cppflags} \
459 456
 ${sdk}" \
460 457
       LDFLAGS="\
461
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}${suffix} \
462
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${configuration} \
463
--F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH} \
464
--L${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}${suffix} \
465
--L${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}/${configuration} \
466
--L${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH} \
458
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}${suffix} \
459
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${configuration} \
460
+-F${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME} \
461
+-L${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}${suffix} \
462
+-L${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}/${configuration} \
463
+-L${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME} \
467 464
 ${other_ldflags} \
468 465
 ${sdk}" \
469 466
       exekutor "${owd}/${srcdir}/configure" --prefix "${owd}/${BUILD_DEPENDENCY_SUBDIR}/usr/local" 1>&2  || exit 1
... ...
@@ -535,7 +532,7 @@ create_mangled_header_path()
535 532
    if [ $? -ne 0 ]
536 533
    then
537 534
       headers="`remove_absolute_path_prefix_up_to "${headers}" "include"`"
538
-      prefix="${HEADER_PATH}"
535
+      prefix="${HEADER_DIR_NAME}"
539 536
    fi
540 537
 
541 538
    if read_yes_no_build_setting "${name}" "xcode_mangle_header_dash"
... ...
@@ -553,7 +550,6 @@ fixup_header_path()
553 550
    local setting_key
554 551
    local default
555 552
    local name
556
-   local prefix
557 553
 
558 554
    key="$1"
559 555
    shift
... ...
@@ -674,18 +670,18 @@ ${info} ..."
674 670
    suffix="/${configuration}"
675 671
    if [ "${sdk}" != "Default" ]
676 672
    then
677
-      hackish=`echo "${sdk}" | sed 's/^\([a-zA-Z]*\).*$/\1/g'`
673
+      hackish="`echo "${sdk}" | sed 's/^\([a-zA-Z]*\).*$/\1/g'`"
678 674
       suffix="${suffix}-${hackish}"
679 675
    else
680 676
       sdk=
681 677
    fi
682 678
 
683
-   local proper_skip_install
679
+   local xcode_proper_skip_install
684 680
    local skip_install
685 681
 
686 682
    skip_install=
687
-   proper_skip_install=`read_build_setting "${name}" "proper_skip_install" "NO"`
688
-   if [ "$proper_skip_install" != "YES" ]
683
+   xcode_proper_skip_install=`read_build_setting "${name}" "xcode_proper_skip_install" "NO"`
684
+   if [ "$xcode_proper_skip_install" != "YES" ]
689 685
    then
690 686
       skip_install="SKIP_INSTALL=NO"
691 687
    fi
... ...
@@ -801,7 +797,7 @@ ${info} ..."
801 797
       #
802 798
       inherited="`xcode_get_setting HEADER_SEARCH_PATHS ${arguments}`"
803 799
       path=`combined_escaped_search_path \
804
-"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${HEADER_PATH}" \
800
+"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${HEADER_DIR_NAME}" \
805 801
 "/usr/local/include"`
806 802
       if [ -z "${inherited}" ]
807 803
       then
... ...
@@ -812,12 +808,12 @@ ${info} ..."
812 808
 
813 809
       inherited="`xcode_get_setting LIBRARY_SEARCH_PATHS ${arguments}`"
814 810
       path=`combined_escaped_search_path \
815
-"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}/${mapped}" \
816
-"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}" \
811
+"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}/${mapped}" \
812
+"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}" \
817 813
 "/usr/local/lib"`
818 814
       if [ ! -z "$sdk" ]
819 815
       then
820
-         escaped="`escaped_spaces "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${LIBRARY_PATH}/${mapped}"'-$(EFFECTIVE_PLATFORM_NAME)'`"
816
+         escaped="`escaped_spaces "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}/${mapped}"'-$(EFFECTIVE_PLATFORM_NAME)'`"
821 817
          path="${escaped} ${path}" # prepend
822 818
       fi
823 819
       if [ -z "${inherited}" ]
... ...
@@ -830,11 +826,11 @@ ${info} ..."
830 826
 
831 827
       inherited="`xcode_get_setting FRAMEWORK_SEARCH_PATHS ${arguments}`"
832 828
       path=`combined_escaped_search_path \
833
-"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${mapped}" \
834
-"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}"`
829
+"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${mapped}" \
830
+"${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}"`
835 831
       if [ ! -z "$sdk" ]
836 832
       then
837
-         escaped="`escaped_spaces "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}${FRAMEWORK_PATH}/${mapped}"'-$(EFFECTIVE_PLATFORM_NAME)'`"
833
+         escaped="`escaped_spaces "${owd}/${REFERENCE_DEPENDENCY_SUBDIR}/${FRAMEWORK_DIR_NAME}/${mapped}"'-$(EFFECTIVE_PLATFORM_NAME)'`"
838 834
          path="${escaped} ${path}" # prepend
839 835
       fi
840 836
       if [ -z "${inherited}" ]
... ...
@@ -859,7 +855,7 @@ ${info} ..."
859 855
 ARCHS='\${ARCHS_STANDARD_32_64_BIT}' \
860 856
 DEPLOYMENT_LOCATION=YES \
861 857
 DSTROOT='${owd}/${BUILD_DEPENDENCY_SUBDIR}' \
862
-INSTALL_PATH='${LIBRARY_PATH}${suffix}' \
858
+INSTALL_PATH='/${LIBRARY_DIR_NAME}${suffix}' \
863 859
 SYMROOT='${owd}/${builddir}/' \
864 860
 OBJROOT='${owd}/${builddir}/obj' \
865 861
 ONLY_ACTIVE_ARCH=NO \
... ...
@@ -981,7 +977,7 @@ Release"`
981 977
    do
982 978
       for configuration in ${configurations}
983 979
       do
984
-         if [ "$/{configuration}" = "${LIBRARY_PATH}" -o "/${configuration}" = "${HEADER_PATH}" -o "/${configuration}" = "${FRAMEWORK_PATH}" ]
980
+         if [ "$/{configuration}" = "/${LIBRARY_DIR_NAME}" -o "/${configuration}" = "${HEADER_DIR_NAME}" -o "/${configuration}" = "${FRAMEWORK_PATH}" ]
985 981
          then
986 982
             fail "You are just asking for trouble."
987 983
          fi
... ...
@@ -1216,7 +1212,7 @@ main()
1216 1212
 {
1217 1213
    local  no_clean
1218 1214
 
1219
-   log_info "Start build"
1215
+   log_fluff "::: build :::"
1220 1216
 
1221 1217
    log_fluff "Setting up ${DEPENDENCY_SUBDIR}"
1222 1218
    no_clean="`read_config_setting "dont_clean_dependencies_before_build"`"
... ...
@@ -1231,7 +1227,7 @@ main()
1231 1227
    #
1232 1228
    if [ ! -d "${CLONES_SUBDIR}" ]
1233 1229
    then
1234
-      log_info "No repos fetched, nothing to do."
1230
+      log_fluff "No repos fetched, nothing to do."
1235 1231
       return 0
1236 1232
    fi
1237 1233
 
... ...
@@ -5,25 +5,27 @@
5 5
 . mulle-bootstrap-local-environment.sh
6 6
 
7 7
 
8
-BUILD_CLEANABLE_SUBDIRS=`read_sane_config_path_setting "clean_folders" "${CLONESBUILD_SUBDIR}
9
-${DEPENDENCY_SUBDIR}/tmp"`
10
-OUTPUT_CLEANABLE_SUBDIRS=`read_sane_config_path_setting "output_clean_folders" "${DEPENDENCY_SUBDIR}"`
11
-DIST_CLEANABLE_SUBDIRS=`read_sane_config_path_setting "dist_clean_folders" "${CLONES_SUBDIR}
12
-.bootstrap.auto"`
8
+BUILD_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "clean_folders" "${CLONESBUILD_SUBDIR}
9
+${DEPENDENCY_SUBDIR}/tmp"`"
10
+OUTPUT_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "output_clean_folders" "${DEPENDENCY_SUBDIR}"`"
11
+DIST_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "dist_clean_folders" "${CLONES_SUBDIR}
12
+.bootstrap.auto"`"
13 13
 
14 14
 
15 15
 usage()
16 16
 {
17
-   echo "clean [build|output|dist]"
18
-   echo ""
19
-   echo "   build   : is the default, it cleans
20
-${BUILD_CLEANABLE_SUBDIRS}"
21
-   echo ""
22
-   echo "   output  : cleans additionaly
23
-${OUTPUT_CLEANABLE_SUBDIRS}"
24
-   echo ""
25
-   echo "   dist    : cleans additionaly
26
-${DIST_CLEANABLE_SUBDIRS}"
17
+   cat <<EOF
18
+clean [build|output|dist]
19
+
20
+   build   : is the default, it cleans
21
+${BUILD_CLEANABLE_SUBDIRS}
22
+
23
+   output  : cleans additionaly
24
+${OUTPUT_CLEANABLE_SUBDIRS}
25
+
26
+   dist    : cleans additionaly
27
+${DIST_CLEANABLE_SUBDIRS}
28
+EOF
27 29
 }
28 30
 
29 31
 
... ...
@@ -133,6 +135,7 @@ main()
133 135
    # for users of previous versions.
134 136
    # Also don't change the search paths for read_sane_config_path_setting
135 137
    #
138
+   log_fluff "::: clean :::"
136 139
 
137 140
    clean "$@"
138 141
 }
... ...
@@ -135,7 +135,7 @@ ask_symlink_it()
135 135
       echo "You need to check out ${clone} yourself, as it's not there." >&2 || exit 1
136 136
    fi
137 137
 
138
-   SYMLINK_FORBIDDEN=`read_config_setting "symlink_forbidden"`
138
+   SYMLINK_FORBIDDEN="`read_config_setting "symlink_forbidden"`"
139 139
 
140 140
    # check if checked out
141 141
    if [ -d "${clone}"/.git ]
... ...
@@ -183,7 +183,7 @@ run_fetch_settings_script()
183 183
 
184 184
    local script
185 185
 
186
-   script=`read_fetch_setting "bin/${name}.sh"`
186
+   script="`read_fetch_setting "bin/${name}.sh"`"
187 187
    if [ ! -z "${script}" ]
188 188
    then
189 189
       run_script "${script}" "$@"
... ...
@@ -229,7 +229,7 @@ checkout()
229 229
    fi
230 230
 
231 231
    srcname="${clone}"
232
-   script=`read_repo_setting "${name1}" "bin/${COMMAND}.sh"`
232
+   script="`read_repo_setting "${name1}" "bin/${COMMAND}.sh"`"
233 233
    operation="git_clone"
234 234
 
235 235
    # simplify this crap copy/paste code
... ...
@@ -305,7 +305,6 @@ git_checkout_tag()
305 305
 {
306 306
    local dst
307 307
    local tag
308
-   local cmd
309 308
 
310 309
    dst="$1"
311 310
    tag="$2"
... ...
@@ -378,9 +377,11 @@ bootstrap_recurse()
378 377
    local name
379 378
 
380 379
    dst="$1"
381
-   [ "${PWD}" != "${dst}" ] || fail "configuration error"
382 380
 
383
-   name=`basename "${dst}"`
381
+   [ ! -z "${dst}" ] || internal_fail "dst was empty"
382
+   [ "${PWD}" != "${dst}" ] || internal_fail "configuration error"
383
+
384
+   name="`basename "${dst}"`"
384 385
 
385 386
    # contains own bootstrap ? and not a symlink
386 387
    if [ ! -d "${dst}/.bootstrap" ] # -a ! -L "${dst}" ]
... ...
@@ -438,7 +439,7 @@ bootstrap_recurse()
438 439
       local relative
439 440
 
440 441
       mkdir_if_missing "${BOOTSTRAP_SUBDIR}.auto/settings/${name}"
441
-      relative=`compute_relative "${BOOTSTRAP_SUBDIR}"`
442
+      relative="`compute_relative "${BOOTSTRAP_SUBDIR}"`"
442 443
       exekutor find "${dst}/.bootstrap/settings" -type f -depth 1 -print0 | \
443 444
          exekutor xargs -0 -I % ln -s -f "${relative}/../../"% "${BOOTSTRAP_SUBDIR}.auto/settings/${name}"
444 445
 
... ...
@@ -496,7 +497,7 @@ mark_alive()
496 497
    # mark as alive
497 498
    if [ -d "${dstname}" -o -L "${dstname}" ] && [ ! -r "${dstname}" ]
498 499
    then
499
-      permission=`lso "${CLONES_FETCH_SUBDIR}"`
500
+      permission="`lso "${CLONES_FETCH_SUBDIR}"`"
500 501
       [ ! -z "$permission" ] || fail "failed to get permission of ${CLONES_FETCH_SUBDIR}"
501 502
       exekutor chmod -h "${permission}" "${dstname}"
502 503
 
... ...
@@ -537,11 +538,11 @@ checkout_repository()
537 538
 {
538 539
    local dstname
539 540
 
540
-   dstname="$5"
541
+   dstname="$4"
541 542
 
542 543
    if [ ! -e "${dstname}" ]
543 544
    then
544
-      checkout "$@"  || fail "checkout failed"
545
+      checkout "$@"
545 546
       if [ "${COMMAND}" = "install" -a "${DONT_RECURSE}" = "" ]
546 547
       then
547 548
          bootstrap_recurse "${dstname}"
... ...
@@ -550,6 +551,8 @@ checkout_repository()
550 551
             return 1
551 552
          fi
552 553
       fi
554
+   else
555
+      log_fluff "Repository \"${dstname}\" already exists"
553 556
    fi
554 557
    return 0
555 558
 }
... ...
@@ -566,9 +569,9 @@ clone_repository()
566 569
    local tag
567 570
    local dstname
568 571
 
569
-   name1=`basename "${clone}" .git`
570
-   name2=`basename "${clone}"`
571
-   tag=`read_repo_setting "${name1}" "tag"` #repo (sic)
572
+   name1="`basename "${clone}" .git`"
573
+   name2="`basename "${clone}"`"
574
+   tag="`read_repo_setting "${name1}" "tag"`" #repo (sic)
572 575
 
573 576
    dstname="${CLONES_FETCH_SUBDIR}/${name1}"
574 577
 
... ...
@@ -599,7 +602,7 @@ clone_repositories()
599 602
    do
600 603
       stop=1
601 604
 
602
-      clones=`read_fetch_setting "gits"`
605
+      clones="`read_fetch_setting "gits"`"
603 606
       if [ "${clones}" != "" ]
604 607
       then
605 608
          ensure_clones_directory
... ...
@@ -639,7 +642,7 @@ update()
639 642
    log_info "Updating \"${dstname}\""
640 643
    if [ ! -L "${dstname}"  ]
641 644
    then
642
-      script=`read_repo_setting "${name}" "bin/update.sh"`
645
+      script="`read_repo_setting "${name}" "bin/update.sh"`"
643 646
       if [ ! -z "${script}" ]
644 647
       then
645 648
          run_script "${script}" "$@"
... ...
@@ -647,7 +650,7 @@ update()
647 650
          exekutor git_pull "${dstname}" "${tag}"
648 651
       fi
649 652
 
650
-      script=`read_repo_setting "${name}" "bin/post-update.sh"`
653
+      script="`read_repo_setting "${name}" "bin/post-update.sh"`"
651 654
       if [ ! -z "${script}" ]
652 655
       then
653 656
          run_script "${script}" "$@"
... ...
@@ -666,8 +669,8 @@ update_repository()
666 669
    local tag
667 670
    local dstname
668 671
 
669
-   name=`basename "${clone}" .git`
670
-   tag=`read_repo_setting "${name}" "tag"` #repo (sic)
672
+   name="`basename "${clone}" .git`"
673
+   tag="`read_repo_setting "${name}" "tag"`" #repo (sic)
671 674
 
672 675
    dstname="${CLONES_FETCH_SUBDIR}/${name}"
673 676
    exekutor [ -e "${dstname}" ] || fail "You need to install first, before updating"
... ...
@@ -700,7 +703,7 @@ update_repositories()
700 703
          update_repository "${CLONES_FETCH_SUBDIR}/${clone}"
701 704
       done
702 705
    else
703
-      clones=`read_fetch_setting "gits"`
706
+      clones="`read_fetch_setting "gits"`"
704 707
       if [ "${clones}" != "" ]
705 708
       then
706 709
          for clone in ${clones}
... ...
@@ -716,7 +719,9 @@ brew_update_if_needed()
716 719
 {
717 720
    local stale
718 721
    local last_update
722
+   local what
719 723
 
724
+   what="$1"
720 725
    last_update="${HOME}/.mulle-bootstrap/brew-update"
721 726
 
722 727
    fetch_brew_if_needed
... ...
@@ -727,18 +732,20 @@ brew_update_if_needed()
727 732
 
728 733
    if [ -f "${last_update}" ]
729 734
    then
730
-      stale=`find "${last_update}" -mtime +1 -type f -exec echo '{}' \;`
735
+      stale="`find "${last_update}" -mtime +1 -type f -exec echo '{}' \;`"
731 736
       if [ -f "${last_update}" -a "$stale" = "" ]
732 737
       then
738
+         log_fluff "brew seems to be up to date"
733 739
          return 0
734 740
       fi
735 741
    fi
736 742
 
737
-   user_say_yes "Should brew be updated before installing ?"
743
+   user_say_yes "Should brew be updated before installing ${what} ?"
738 744
 
739 745
    if [ $? -eq 0 ]
740 746
    then
741
-   	brew update
747
+      log_fluff "Updating brew, this can take some time..."
748
+   	exekutor brew update
742 749
 
743 750
 	   mkdir_if_missing "`dirname "${last_update}"`"
744 751
    	exekutor touch "${last_update}"
... ...
@@ -755,12 +762,14 @@ install_taps()
755 762
    local taps
756 763
    local old
757 764
 
765
+   log_fluff "Looking for taps"
766
+
758 767
    taps=`read_fetch_setting "taps" | sort | sort -u`
759 768
    if [ "${taps}" != "" ]
760 769
    then
761 770
       local old
762 771
 
763
-      brew_update_if_needed
772
+      fetch_brew_if_needed
764 773
 
765 774
       old="${IFS:-" "}"
766 775
       IFS="
... ...
@@ -769,6 +778,8 @@ install_taps()
769 778
       do
770 779
          exekutor brew tap "${tap}" > /dev/null || exit 1
771 780
       done
781
+   else
782
+      log_fluff "No taps found"
772 783
    fi
773 784
 }
774 785
 
... ...
@@ -780,24 +791,31 @@ install_brews()
780 791
 
781 792
    install_taps
782 793
 
794
+   log_fluff "Looking for brews"
795
+
783 796
    brews=`read_fetch_setting "brews" | sort | sort -u`
784 797
    if [ "${brews}" != "" ]
785 798
    then
786 799
       local old
787 800
 
788
-      brew_update_if_needed
789
-
790 801
       old="${IFS:-" "}"
791 802
       IFS="
792 803
 "
793 804
       for brew in ${brews}
794 805
       do
795
-         if [ "${COMMAND}" != "install" -o "`which "${brew}"`" = "" ]
806
+         if [ "`which "${brew}"`" = "" ]
796 807
          then
808
+            brew_update_if_needed "${brew}"
809
+
810
+            log_fluff "brew ${COMMAND} \"${brew}\""
797 811
             exekutor brew "${COMMAND}" "${brew}" || exit 1
812
+         else
813
+            log_info "\"${brew}\" is already installed."
798 814
          fi
799 815
       done
800 816
       IFS="${old}"
817
+   else
818
+      log_fluff "No brews found"
801 819
    fi
802 820
 }
803 821
 
... ...
@@ -810,7 +828,9 @@ check_tars()
810 828
    local tarballs
811 829
    local tar
812 830
 
813
-   tarballs=`read_fetch_setting "tarballs" | sort | sort -u`
831
+   log_fluff "Looking for tarballs"
832
+
833
+   tarballs="`read_fetch_setting "tarballs" | sort | sort -u`"
814 834
    if [ "${tarballs}" != "" ]
815 835
    then
816 836
       local old
... ...
@@ -824,8 +844,11 @@ check_tars()
824 844
          then
825 845
             fail "tarball \"$tar\" not found"
826 846
          fi
847
+         log_fluff "tarball \"$tar\" found"
827 848
       done
828 849
       IFS="${old}"
850
+   else
851
+      log_fluff "No tarballs found"
829 852
    fi
830 853
 }
831 854
 
... ...
@@ -838,7 +861,9 @@ install_gems()
838 861
    local gems
839 862
    local gem
840 863
 
841
-   gems=`read_fetch_setting "gems" | sort | sort -u`
864
+   log_fluff "Looking for gems"
865
+
866
+   gems="`read_fetch_setting "gems" | sort | sort -u`"
842 867
    if [ "${gems}" != "" ]
843 868
    then
844 869
       local old
... ...
@@ -848,13 +873,18 @@ install_gems()
848 873
 "
849 874
       for gem in ${gems}
850 875
       do
876
+         log_fluff "gem install \"${gem}\""
877
+
851 878
          echo "gem needs sudo to install ${gem}" >&2
852 879
          exekutor sudo gem install "${gem}" || exit 1
853 880
       done
854 881
       IFS="${old}"
882
+   else
883
+      log_fluff "No gems found"
855 884
    fi
856 885
 }
857 886
 
887
+
858 888
 #
859 889
 # Use pips for stuff we don't tag
860 890
 #
... ...
@@ -863,7 +893,9 @@ install_pips()
863 893
    local pips
864 894
    local pip
865 895
 
866
-   pips=`read_fetch_setting "pips" | sort | sort -u`
896
+   log_fluff "Looking for pips"
897
+
898
+   pips="`read_fetch_setting "pips" | sort | sort -u`"
867 899
    if [ "${pips}" != "" ]
868 900
    then
869 901
       local old
... ...
@@ -873,17 +905,21 @@ install_pips()
873 905
 "
874 906
       for pip in ${pips}
875 907
       do
908
+         log_fluff "pip install \"${gem}\""
909
+
876 910
          echo "pip needs sudo to install ${pip}" >&2
877 911
          exekutor sudo pip install "${pip}" || exit 1
878 912
       done
879 913
       IFS="${old}"
914
+   else
915
+      log_fluff "No pips found"
880 916
    fi
881 917
 }
882 918
 
883 919
 
884 920
 main()
885 921
 {
886
-   log_info "Start fetch"
922
+   log_fluff "::: fetch :::"
887 923
    #
888 924
    # Run prepare scripts if present
889 925
    #
... ...
@@ -894,7 +930,7 @@ main()
894 930
    then
895 931
       clone_repositories "$@"
896 932
 
897
-      install_brews "${COMMAND}" # no update for now
933
+      install_brews
898 934
       install_gems
899 935
       install_pips
900 936
       check_tars
... ...
@@ -125,6 +125,7 @@ eval_exekutor()
125 125
    fi
126 126
 }
127 127
 
128
+
128 129
 exekutor()
129 130
 {
130 131
    if [ "$MULLE_BOOTSTRAP_DRY_RUN" = "YES" -o "$MULLE_BOOTSTRAP_TRACE" = "YES" ]
... ...
@@ -292,7 +293,6 @@ rmdir_safer()
292 293
 }
293 294
 
294 295
 
295
-
296 296
 user_say_yes()
297 297
 {
298 298
   local  x
... ...
@@ -355,12 +355,15 @@ Install brew now (Linux or OS X should work) ? "
355 355
       fi
356 356
       if [ "`uname`" = 'Darwin' ]
357 357
       then
358
+         log_info "Installing OS X brew"
358 359
          exekutor ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" || exit 1
359 360
       else
361
+         log_info "Installing Linux brew"
360 362
          exekutor ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)" || exit 1
361 363
       fi
362 364
 
363
-      exekutor mkdir -p "`dirname "${last_update}"`" 2> /dev/null
365
+      log_fluff "Touching ${last_update}"
366
+      exekutor mkdir_if_missing "`dirname "${last_update}"`"
364 367
       exekutor touch "${last_update}"
365 368
       return 1
366 369
    fi
... ...
@@ -47,6 +47,35 @@ fi
47 47
 . mulle-bootstrap-settings.sh
48 48
 
49 49
 
50
+MULLE_BOOTSTRAP_TRACE="`read_config_setting "trace"`"
51
+
52
+case "${MULLE_BOOTSTRAP_TRACE}" in
53
+   VERBOSE)
54
+      MULLE_BOOTSTRAP_VERBOSE="YES"
55
+      MULLE_BOOTSTRAP_TRACE_SETTINGS="YES"
56
+      MULLE_BOOTSTRAP_TRACE="YES"
57
+      log_trace "VERBOSE trace started"
58
+      ;;
59
+   FULL|ALL)
60
+      MULLE_BOOTSTRAP_TRACE_ACCESS_SETTINGS="YES"
61
+      MULLE_BOOTSTRAP_TRACE_SETTINGS="YES"
62
+      MULLE_BOOTSTRAP_VERBOSE="YES"
63
+      MULLE_BOOTSTRAP_TRACE="YES"
64
+      log_trace "FULL trace started"
65
+      ;;
66
+   1848)
67
+      MULLE_BOOTSTRAP_VERBOSE="YES"
68
+      MULLE_BOOTSTRAP_TRACE="YES"
69
+      log_trace "1848 trace (set -x) started"
70
+      set -x
71
+      ;;
72
+esac
73
+
74
+if [ "${MULLE_BOOTSTRAP_DRY_RUN}" = "YES" ]
75
+then
76
+   log_trace "Dry run is active."
77
+fi
78
+
50 79
 CLONES_SUBDIR=`read_sane_config_path_setting "repos_foldername" ".repos"`
51 80
 CLONESBUILD_SUBDIR=`read_sane_config_path_setting "build_foldername" "build/.repos"`
52 81
 DEPENDENCY_SUBDIR=`read_sane_config_path_setting "output_foldername" "dependencies"`
... ...
@@ -79,31 +108,10 @@ fi
79 108
 [ -z "${CLONES_RELATIVE}" ]      && internal_fail "variable CLONES_RELATIVE is empty"
80 109
 [ -z "${CLONESBUILD_RELATIVE}" ] && internal_fail "CLONESBUILD_RELATIVE is empty"
81 110
 
111
+#
112
+# Global Settings
113
+#
114
+HEADER_DIR_NAME="`read_config_setting "header_dir_name" "include"`"
115
+LIBRARY_DIR_NAME="`read_config_setting "library_dir_name" "lib"`"
116
+FRAMEWORK_DIR_NAME="`read_config_setting "framework_dir_name" "Frameworks"`"
82 117
 
83
-MULLE_BOOTSTRAP_TRACE="`read_config_setting "trace"`"
84
-
85
-case "${MULLE_BOOTSTRAP_TRACE}" in
86
-	VERBOSE)
87
-		MULLE_BOOTSTRAP_VERBOSE="YES"
88
-	   MULLE_BOOTSTRAP_TRACE_SETTINGS="YES"
89
-	   MULLE_BOOTSTRAP_TRACE="YES"
90
-	   log_trace "VERBOSE trace started"
91
-	   ;;
92
-	FULL|ALL)
93
-      MULLE_BOOTSTRAP_TRACE_ACCESS_SETTINGS="YES"
94
-	   MULLE_BOOTSTRAP_TRACE_SETTINGS="YES"
95
-		MULLE_BOOTSTRAP_VERBOSE="YES"
96
-	   MULLE_BOOTSTRAP_TRACE="YES"
97
-	   log_trace "FULL trace started"
98
-	   ;;
99
-	1848)
100
-	   MULLE_BOOTSTRAP_TRACE="YES"
101
-	   log_trace "1848 trace (set -x) started"
102
-		set -x
103
-	   ;;
104
-esac
105
-
106
-if [ "${MULLE_BOOTSTRAP_DRY_RUN}" = "YES" ]
107
-then
108
-   log_trace "Dry run is active. Nothing should be modified on the filesystem"
109
-fi
110 118
\ No newline at end of file
... ...
@@ -195,7 +195,7 @@ posttag_script()
195 195
 
196 196
 main()
197 197
 {
198
-   log_info "Start tag"
198
+   log_fluff "::: tag :::"
199 199
 
200 200
    ensure_repos_clean
201 201
 
... ...
@@ -40,14 +40,6 @@ shift
40 40
 
41 41
 check_and_usage_and_help
42 42
 
43
-#
44
-# Global Settings
45
-#
46
-HEADER_PATH=`read_config_setting "header_path" "/include"`
47
-LIBRARY_PATH=`read_config_setting "library_path" "/lib"`
48
-FRAMEWORK_PATH=`read_config_setting "framework_path" "/Frameworks"`
49
-
50
-
51 43
 
52 44
 list_configurations()
53 45
 {
... ...
@@ -230,7 +222,6 @@ patch_xcode_project()
230 222
 {
231 223
    local name
232 224
    local project
233
-   local prefix
234 225
    local mapped
235 226
    local configurations
236 227
    local xcode_configurations
... ...
@@ -293,24 +284,24 @@ Release"
293 284
 
294 285
    dependencies_dir='$(PROJECT_DIR)'"${relative_subdir}"
295 286
 
296
-   header_search_paths="\$(DEPENDENCIES_DIR)${HEADER_PATH}"
287
+   header_search_paths="\$(DEPENDENCIES_DIR)/${HEADER_DIR_NAME}"
297 288
    header_search_paths="${header_search_paths} /usr/local/include"
298 289
    header_search_paths="${header_search_paths} \$(inherited)"
299 290
 
300
-   library_search_paths="\$(DEPENDENCIES_DIR)${LIBRARY_PATH}/\$(LIBRARY_CONFIGURATION)\$(EFFECTIVE_PLATFORM_NAME)"
301
-   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)${LIBRARY_PATH}/\$(LIBRARY_CONFIGURATION)"
302
-   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)${LIBRARY_PATH}/${default}\$(EFFECTIVE_PLATFORM_NAME)"
303
-   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)${LIBRARY_PATH}/${default}"
304
-   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)${LIBRARY_PATH}"
291
+   library_search_paths="\$(DEPENDENCIES_DIR)/${LIBRARY_DIR_NAME}/\$(LIBRARY_CONFIGURATION)\$(EFFECTIVE_PLATFORM_NAME)"
292
+   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)/${LIBRARY_DIR_NAME}/\$(LIBRARY_CONFIGURATION)"
293
+   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)/${LIBRARY_DIR_NAME}/${default}\$(EFFECTIVE_PLATFORM_NAME)"
294
+   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)/${LIBRARY_DIR_NAME}/${default}"
295
+   library_search_paths="${library_search_paths} \$(DEPENDENCIES_DIR)/${LIBRARY_DIR_NAME}"
305 296
    library_search_paths="${library_search_paths} /usr/local/lib"
306 297
    library_search_paths="${library_search_paths} \$(inherited)"
307 298
 
308 299
 
309
-   framework_search_paths="\$(DEPENDENCIES_DIR)${FRAMEWORK_PATH}/\$(LIBRARY_CONFIGURATION)\$(EFFECTIVE_PLATFORM_NAME)"
310
-   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)${FRAMEWORK_PATH}/\$(LIBRARY_CONFIGURATION)"
311
-   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)${FRAMEWORK_PATH}/${default}\$(EFFECTIVE_PLATFORM_NAME)"
312
-   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)${FRAMEWORK_PATH}/${default}"
313
-   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)${FRAMEWORK_PATH}"
300
+   framework_search_paths="\$(DEPENDENCIES_DIR)/${FRAMEWORK_DIR_NAME}/\$(LIBRARY_CONFIGURATION)\$(EFFECTIVE_PLATFORM_NAME)"
301
+   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)/${FRAMEWORK_DIR_NAME}/\$(LIBRARY_CONFIGURATION)"
302
+   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)/${FRAMEWORK_DIR_NAME}/${default}\$(EFFECTIVE_PLATFORM_NAME)"
303
+   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)/${FRAMEWORK_DIR_NAME}/${default}"
304
+   framework_search_paths="${framework_search_paths} \$(DEPENDENCIES_DIR)/${FRAMEWORK_DIR_NAME}"
314 305
    framework_search_paths="${framework_search_paths} \$(inherited)"
315 306
 
316 307
    local query
... ...
@@ -349,9 +340,9 @@ Release"
349 340
       IFS="${old}"
350 341
       echo  "-----------------------------------------------------------${C_RESET}"  >&2
351 342
 
352
-      query="Add ${C_CYAN}\"${DEPENDENCY_SUBDIR}${LIBRARY_PATH}\"${C_YELLOW}  and friends to search paths of ${C_MAGENTA}${projectname}${C_YELLOW} ?"
343
+      query="Add ${C_CYAN}\"${DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}\"${C_YELLOW}  and friends to search paths of ${C_MAGENTA}${projectname}${C_YELLOW} ?"
353 344
    else
354
-      query="Remove ${C_CYAN}\"${DEPENDENCY_SUBDIR}${LIBRARY_PATH}\"${C_YELLOW}  and friends from search paths of ${C_MAGENTA}${projectname}${C_YELLOW} ?"
345
+      query="Remove ${C_CYAN}\"${DEPENDENCY_SUBDIR}/${LIBRARY_DIR_NAME}\"${C_YELLOW}  and friends from search paths of ${C_MAGENTA}${projectname}${C_YELLOW} ?"
355 346
    fi
356 347
 
357 348
    user_say_yes "$query"
... ...
@@ -385,7 +376,7 @@ Release"
385 376
 
386 377
 main()
387 378
 {
388
-   log_info "Start xcode"
379
+   log_fluff "::: xcode :::"
389 380
 
390 381
    patch_xcode_project "$@"
391 382
 }