Browse code

* moved the project to mulle-sde * tested against mulle-objc 0.15

Nat! authored on 28-05-2019 21:28:27
Showing 182 changed files
... ...
@@ -34,13 +34,13 @@ xcuserdata/
34 34
 
35 35
 # ### > generated by mulle-sde (extensions/mulle-sde/sde/init)
36 36
 
37
-# generally /var and directories are not interesting
38
-.mulle-*/var/
37
+# generally /var directories are not interesting
38
+.mulle/var/
39 39
 
40 40
 # .mulle-env /bin and /libexec are not interesting
41 41
 
42
-.mulle-env/bin/
43
-.mulle-env/libexec/
42
+.mulle/bin/
43
+.mulle/libexec/
44 44
 
45 45
 # env/style is "fluctuating" on a per-user level so not interesting
46 46
 .mulle-env/env/style
... ...
@@ -50,7 +50,6 @@ xcuserdata/
50 50
 .mulle-env/share/environment-user-*.sh
51 51
 .mulle-env/share/environment-host-*.sh
52 52
 
53
-# .mulle-sde is generally interesting
54 53
 
55 54
 # dynamically .mulle-sourcetree-fix is boring
56 55
 .mulle-sourcetree-fix
... ...
@@ -67,6 +66,6 @@ tmp.*/
67 66
 
68 67
 # ### < generated by mulle-sde (extensions/mulle-sde/sde/init)
69 68
 
70
-.mulle-env/etc/environment-user-*.sh
69
+.mulle/etc/env/environment-user-*.sh
71 70
 mulle-sde-xcconfig
72 71
 mulle-sde-xcconfig/
73 72
deleted file mode 100644
... ...
@@ -1,6 +0,0 @@
1
-#
2
-#
3
-#
4
-export MULLE_SDE_UPDATE_CALLBACKS="sourcetree"
5
-
6
-
7 0
deleted file mode 100644
... ...
@@ -1,102 +0,0 @@
1
-[ "${TRACE}" = "YES" -o "${MULLE_ENVIRONMENT_TRACE}" = "YES" ] && set -x  && : "$0" "$@"
2
-
3
-#
4
-# If mulle-env is broken, sometimes its nice just to source this file.
5
-# If you're sourcing this manually on a regular basis, you're doing it wrong.
6
-#
7
-# We need some minimal stuff to get things going though:
8
-#     sed, cut, tr, hostname, pwd, uname
9
-#
10
-if [ -z "${MULLE_UNAME}" ]
11
-then
12
-   MULLE_UNAME="`PATH=/bin:/usr/bin uname | \
13
-                  PATH=/bin:/usr/bin cut -d_ -f1 | \
14
-                  PATH=/bin:/usr/bin sed 's/64$//' | \
15
-                  PATH=/bin:/usr/bin tr 'A-Z' 'a-z'`"
16
-   export MULLE_UNAME
17
-fi
18
-if [ -z "${MULLE_VIRTUAL_ROOT}" ]
19
-then
20
-   MULLE_VIRTUAL_ROOT="`PATH=/bin:/usr/bin pwd -P`"
21
-   echo "Using ${MULLE_VIRTUAL_ROOT} as MULLE_VIRTUAL_ROOT for \
22
-your convenience" >&2
23
-fi
24
-
25
-alias mulle-env-reload='. "${MULLE_VIRTUAL_ROOT}/.mulle-env/share/include-environment.sh"'
26
-
27
-case "${MULLE_SHELL_MODE}" in
28
-   *INTERACTIVE*)
29
-      #
30
-      # Set PS1 so that we can see, that we are in a mulle-env
31
-      #
32
-      envname="`PATH=/bin:/usr/bin basename -- "${MULLE_VIRTUAL_ROOT}"`"
33
-
34
-      case "${PS1}" in
35
-         *\\h\[*)
36
-         ;;
37
-
38
-         *\\h*)
39
-            PS1="$(sed 's/\\h/\\h\['${envname}'\]/' <<< '${PS1}' )"
40
-         ;;
41
-
42
-         *)
43
-            PS1='\u@\h['${envname}'] \W$ '
44
-         ;;
45
-      esac
46
-      export PS1
47
-
48
-      unset envname
49
-
50
-      # install cd catcher
51
-      . "${MULLE_ENV_LIBEXEC_DIR}/mulle-env-cd.sh"
52
-      unset MULLE_ENV_LIBEXEC_DIR
53
-
54
-      mulle-env-reload
55
-   ;;
56
-
57
-   *)
58
-      set -a ; mulle-env-reload     # export all definitions for command
59
-      eval ${COMMAND}  # must eval this so ls -1 ${MULLE_VIRTUAL_ROOT} works
60
-      exit $?
61
-   ;;
62
-esac
63
-
64
-
65
-#
66
-# Source in bash completion if available
67
-# Assumed is, that they are not user modifiable
68
-#
69
-case "${MULLE_SHELL_MODE}" in
70
-   *INTERACTIVE*)
71
-      DEFAULT_IFS="${IFS}"
72
-      shopt -s nullglob; IFS="
73
-"
74
-      for FILENAME in "${MULLE_VIRTUAL_ROOT}/.mulle-env/share/libexec"/*-bash-completion.sh
75
-      do
76
-         . "${FILENAME}"
77
-      done
78
-      shopt -u nullglob; IFS="${DEFAULT_IFS}"
79
-
80
-      unset FILENAME
81
-      unset DEFAULT_IFS
82
-   ;;
83
-esac
84
-
85
-#
86
-#
87
-# show motd, if any
88
-#
89
-if [ -z "${NO_MOTD}" ]
90
-then
91
-   if [ -f "${MULLE_VIRTUAL_ROOT}/.mulle-env/etc/motd" ]
92
-   then
93
-      cat "${MULLE_VIRTUAL_ROOT}/.mulle-env/etc/motd"
94
-   else
95
-      if [ -f "${MULLE_VIRTUAL_ROOT}/.mulle-env/share/motd" ]
96
-      then
97
-         cat "${MULLE_VIRTUAL_ROOT}/.mulle-env/share/motd"
98
-      fi
99
-   fi
100
-else
101
-   unset NO_MOTD
102
-fi
103 0
deleted file mode 100644
... ...
@@ -1,101 +0,0 @@
1
-[ "${TRACE}" = "YES" ] && set -x  && : "$0" "$@"
2
-
3
-[ -z "${MULLE_VIRTUAL_ROOT}" -o -z "${MULLE_UNAME}"  ] && \
4
-   echo "Your script needs to setup MULLE_VIRTUAL_ROOT \
5
-and MULLE_UNAME properly" >&2  && exit 1
6
-
7
-MULLE_HOSTNAME="`PATH=/bin:/usr/bin hostname -s`" # don't export it
8
-
9
-MULLE_ENV_SHARE_DIR="${MULLE_VIRTUAL_ROOT}/.mulle-env/share"
10
-MULLE_ENV_ETC_DIR="${MULLE_VIRTUAL_ROOT}/.mulle-env/etc"
11
-
12
-
13
-# Top/down order of inclusion.
14
-# Left overrides right if present.
15
-#
16
-# .mulle-env/etc                        | .mulle-env/share
17
-# --------------------------------------|--------------------
18
-#                                       | environment-aux.sh
19
-#                                       | environment-project.sh
20
-#                                       | environment-share.sh
21
-# environment-global.sh                 |
22
-# environment-os-${MULLE_UNAME}.sh      | environment-os-${MULLE_UNAME}.sh
23
-# environment-host-${MULLE_HOSTNAME}.sh |
24
-# environment-user-${USER}.sh           |
25
-# custom-environment.sh                 |
26
-#
27
-
28
-#
29
-# The aux file, if present is to be set by a mulle-env plugin
30
-#
31
-if [ -f "${MULLE_ENV_SHARE_DIR}/environment-aux.sh" ]
32
-then
33
-   . "${MULLE_ENV_SHARE_DIR}/environment-aux.sh"
34
-fi
35
-
36
-
37
-#
38
-# The project file, if present is to be set by mulle-sde init itself
39
-# w/o extensions
40
-#
41
-if [ -f "${MULLE_ENV_SHARE_DIR}/environment-project.sh" ]
42
-then
43
-   . "${MULLE_ENV_SHARE_DIR}/environment-project.sh"
44
-fi
45
-
46
-#
47
-# The share file, if present is to be set by mulle-sde extensions.
48
-#
49
-if [ -f "${MULLE_ENV_SHARE_DIR}/environment-share.sh" ]
50
-then
51
-   . "${MULLE_ENV_SHARE_DIR}/environment-share.sh"
52
-fi
53
-
54
-
55
-if [ -f "${MULLE_ENV_ETC_DIR}/environment-global.sh" ]
56
-then
57
-   . "${MULLE_ENV_ETC_DIR}/environment-global.sh"
58
-fi
59
-
60
-#
61
-# "os-" can be written by extensions also
62
-#
63
-if [ -f "${MULLE_ENV_ETC_DIR}/environment-os-${MULLE_UNAME}.sh" ]
64
-then
65
-   . "${MULLE_ENV_ETC_DIR}/environment-os-${MULLE_UNAME}.sh"
66
-else
67
-   if [ -f "${MULLE_ENV_SHARE_DIR}/environment-os-${MULLE_UNAME}.sh" ]
68
-   then
69
-      . "${MULLE_ENV_SHARE_DIR}/environment-os-${MULLE_UNAME}.sh"
70
-   fi
71
-fi
72
-
73
-#
74
-# Load in some modifications depending on hostname, username. These
75
-# won't be provided by extensions or plugins.
76
-#
77
-# These settings could be "cased" in a single file, but it seems convenient.
78
-# And more managable for mulle-env environment
79
-#
80
-
81
-if [ -f "${MULLE_ENV_ETC_DIR}/environment-host-${MULLE_HOSTNAME}.sh" ]
82
-then
83
-   . "${MULLE_ENV_ETC_DIR}/environment-host-${MULLE_HOSTNAME}.sh"
84
-fi
85
-
86
-if [ -f "${MULLE_ENV_ETC_DIR}/environment-user-${USER}.sh" ]
87
-then
88
-   . "${MULLE_ENV_ETC_DIR}/environment-user-${USER}.sh"
89
-fi
90
-
91
-#
92
-# For more complex edits, that don't work with the cmdline tool
93
-#
94
-if [ -f "${MULLE_ENV_ETC_DIR}/custom-environment.sh" ]
95
-then
96
-   . "${MULLE_ENV_ETC_DIR}/custom-environment.sh"
97
-fi
98
-
99
-unset MULLE_ENV_ETC_DIR
100
-unset MULLE_ENV_SHARE_DIR
101
-unset MULLE_HOSTNAME
102 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-mulle/wild
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.15.4
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-mulle-clang
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-.mulle-sourcetree/config
2 0
\ No newline at end of file
3 1
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.8.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.8.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.13.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.13.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.13.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.14.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.14.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.9.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.9.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.9.0
2 0
deleted file mode 100644
... ...
@@ -1 +0,0 @@
1
-0.9.0
2 0
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+clang
0 2
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+mulle-clang
0 2
\ No newline at end of file
1 3
similarity index 100%
2 4
rename from .mulle-make.mingw/set/CC
3 5
rename to .mulle/etc/craft/definition/set/CC
4 6
new file mode 100644
... ...
@@ -0,0 +1,30 @@
1
+#
2
+#
3
+#
4
+export MULLE_SDE_UPDATE_CALLBACKS="sourcetree"
5
+
6
+
7
+#
8
+#
9
+#
10
+export MULLE_SOURCETREE_TO_C_INCLUDE_FILE="DISABLE"
11
+
12
+
13
+#
14
+#
15
+#
16
+export MULLE_SOURCETREE_TO_C_IMPORT_FILE="DISABLE"
17
+
18
+
19
+#
20
+#
21
+#
22
+export MULLE_SOURCETREE_TO_C_PRIVATEINCLUDE_FILE="DISABLE"
23
+
24
+
25
+#
26
+#
27
+#
28
+export MULLE_SOURCETREE_TO_C_PRIVATEIMPORT_FILE="DISABLE"
29
+
30
+
0 31
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+#
2
+#
3
+#
4
+export MULLE_FETCH_SEARCH_PATH="/Volumes/Source/srcO/mulle-c:/Volumes/Source/srcO/mulle-objc:/Volumes/Source/srcO/MulleFoundation"
5
+
6
+
0 7
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+#
2
+#
3
+#
4
+export MULLE_FETCH_SEARCH_PATH="/home/src/srcO/mulle-c:/home/src/srcO/mulle-core:/home/src/srcO/mulle-concurrent:/home/src/srcO/mulle-objc:/home/src/srcO/MulleFoundation:/home/src/srcM/MulleEOF/MulleEOControl:/home/src/srcM/MulleEOF/MulleEOAccess:/home/src/srcM/MulleEOF/MulleEOAInterface:/home/src/srcM/MulleEOF/MulleEOAdaptor:/home/src/srcM/unitkit-fixes:${MULLE_FETCH_SEARCH_PATH}"
5
+
6
+
0 7
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+#
2
+#
3
+#
4
+export MULLE_FETCH_SEARCH_PATH="/Volumes/Source/srcO/mulle-c:/Volumes/Source/srcO/mulle-objc:/Volumes/Source/srcO/MulleFoundation"
5
+
6
+
0 7
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+mulle/relax
0 2
similarity index 100%
1 3
rename from mulle-project/formula-info.sh
2 4
rename to .mulle/etc/project/formula-info.sh
3 5
similarity index 100%
4 6
rename from mulle-project/release.sh
5 7
rename to .mulle/etc/project/release.sh
6 8
similarity index 100%
7 9
rename from mulle-project/tap-info.sh
8 10
rename to .mulle/etc/project/tap-info.sh
9 11
similarity index 100%
10 12
rename from mulle-project/version-info.sh
11 13
rename to .mulle/etc/project/version-info.sh
12 14
similarity index 54%
13 15
rename from .mulle-sourcetree/etc/config
14 16
rename to .mulle/etc/sourcetree/config
... ...
@@ -1,4 +1,4 @@
1
-zlib;tar;no-all-load,no-import,no-public,no-rootheader;F30DEEA6-BCA8-4CDE-B74B-0598D7AFDED9;${ZLIB_URL:-https://github.com/madler/zlib/archive/${ZLIB_BRANCH:-v1}.2.11.tar.gz};;;;aliases=z
1
+zlib;tar;no-all-load,no-import,no-inplace,no-public,no-rootheader;F30DEEA6-BCA8-4CDE-B74B-0598D7AFDED9;${ZLIB_URL:-https://github.com/madler/zlib/archive/${ZLIB_BRANCH:-v1}.2.11.tar.gz};;;;aliases=z
2 2
 google-toolbox-for-mac;git;no-all-load,no-build,no-header,no-import,no-link,no-share;E5C4B17F-BFBA-4146-A0FD-27E4C70E1454;${GOOGLE_TOOLBOX_FOR_MAC_URL:-https://github.com/mulle-nat/google-toolbox-for-mac.git};${GOOGLE_TOOLBOX_FOR_MAC_BRANCH};;;
3 3
 mulle-sde-xcconfig;git;no-all-load,no-build,no-header,no-import,no-link,no-share;246C0369-2BCC-4CF3-82DF-1C8274E2642D;${MULLE_SDE_XCCONFIG_URL:-https://github.com/mulle-nat/mulle-sde-xcconfig.git};${MULLE_SDE_XCCONFIG_BRANCH};;;
4
-Foundation;tar;no-fetch-darwin;5aed87f4-86d7-42b3-9f76-7ab93f27c910;${FOUNDATION_URL:-https://github.com/MulleFoundation/Foundation/archive/${FOUNDATION_BRANCH:-latest}.tar.gz};;;;
4
+Foundation;tar;no-fetch-darwin,no-os-darwin;5aed87f4-86d7-42b3-9f76-7ab93f27c910;${FOUNDATION_URL:-https://github.com/MulleFoundation/Foundation/archive/${FOUNDATION_BRANCH:-latest}.tar.gz};;;;
5 5
new file mode 100644
... ...
@@ -0,0 +1,2 @@
1
+project
2
+extension
0 3
similarity index 100%
1 4
rename from .mulle-env/share/environment-aux.sh
2 5
rename to .mulle/share/env/environment-aux.sh
3 6
new file mode 100644
... ...
@@ -0,0 +1,26 @@
1
+# Reset to empty
2
+export MULLE_SDE_UPDATE_CALLBACKS="sourcetree:source"
3
+
4
+
5
+# Used by `mulle-match find` to speed up the search.
6
+export MULLE_MATCH_FILENAMES="config:*.h:*.inc:*.c:CMakeLists.txt:*.cmake:*.m:*.aam"
7
+
8
+
9
+# Used by `mulle-match find` to locate files
10
+export MULLE_MATCH_PATH=".mulle/etc/sourcetree/config:${PROJECT_SOURCE_DIR}:CMakeLists.txt:cmake"
11
+
12
+
13
+# Used by `mulle-match find` to ignore boring subdirectories like .git
14
+export MULLE_MATCH_IGNORE_PATH=""
15
+
16
+
17
+#
18
+#
19
+#
20
+export PREFERRED_STARTUP_LIBRARY="MulleObjC-startup"
21
+
22
+
23
+# tell mulle-sde to keep files protected from read/write changes
24
+export MULLE_SDE_PROTECT_PATH="cmake/share"
25
+
26
+
0 27
similarity index 100%
1 28
rename from .mulle-env/share/environment-os-darwin.sh
2 29
rename to .mulle/share/env/environment-os-darwin.sh
3 30
new file mode 100644
... ...
@@ -0,0 +1,5 @@
1
+#
2
+# Git mirror and Zip/TGZ cache to conserve bandwidth
3
+#
4
+export MULLE_FETCH_MIRROR_DIR="${HOME:-/tmp}/Library/Caches/mulle-fetch/git-mirror"
5
+export MULLE_FETCH_ARCHIVE_DIR="${HOME:-/tmp}/Library/Caches/mulle-fetch/archive"
0 6
new file mode 100644
... ...
@@ -0,0 +1,46 @@
1
+#
2
+# Git mirror and Zip/TGZ cache to conserve bandwidth
3
+# Memo: override in os-specific env file
4
+#
5
+export MULLE_FETCH_MIRROR_DIR="${HOME:-/tmp}/.cache/mulle-fetch/git-mirror"
6
+
7
+#
8
+# Git mirror and Zip/TGZ cache to conserve bandwidth
9
+#
10
+export MULLE_FETCH_ARCHIVE_DIR="${HOME:-/tmp}/.cache/mulle-fetch/archive"
11
+
12
+#
13
+# PATH to search for git repositories locally
14
+#
15
+export MULLE_FETCH_SEARCH_PATH="${MULLE_VIRTUAL_ROOT}/.."
16
+
17
+#
18
+# Prefer symlinking to local git repositories found via MULLE_FETCH_SEARCH_PATH
19
+#
20
+export MULLE_SOURCETREE_SYMLINK="YES"
21
+
22
+#
23
+# Use common folder for sharable projects
24
+#
25
+export MULLE_SOURCETREE_STASH_DIRNAME="stash"
26
+
27
+#
28
+# Share dependency directory (absolute for ease of use)
29
+#
30
+export DEPENDENCY_DIR="${MULLE_VIRTUAL_ROOT}/dependency"
31
+
32
+#
33
+# Share addiction directory (absolute for ease of use)
34
+#
35
+export ADDICTION_DIR="${MULLE_VIRTUAL_ROOT}/addiction"
36
+
37
+#
38
+# Use common build directory
39
+#
40
+export KITCHEN_DIR="${MULLE_VIRTUAL_ROOT}/kitchen"
41
+#
42
+#
43
+#
44
+export MULLE_SDE_INSTALLED_VERSION="0.38.2"
45
+
46
+
0 47
similarity index 59%
1 48
rename from .mulle-env/share/environment-project.sh
2 49
rename to .mulle/share/env/environment-project.sh
... ...
@@ -34,3 +34,21 @@ export PROJECT_DIALECT="objc"
34 34
 export PROJECT_EXTENSIONS="m:aam"
35 35
 
36 36
 
37
+#
38
+#
39
+#
40
+export PROJECT_IDENTIFIER="MulleScion"
41
+
42
+
43
+#
44
+#
45
+#
46
+export PROJECT_DOWNCASE_IDENTIFIER="mulle_scion"
47
+
48
+
49
+#
50
+#
51
+#
52
+export PROJECT_UPCASE_IDENTIFIER="MULLE_SCION"
53
+
54
+
37 55
similarity index 59%
38 56
rename from .mulle-env/share/environment-share.sh
39 57
rename to .mulle/share/env/environment-share.sh
... ...
@@ -3,7 +3,7 @@ export MULLE_MATCH_FIND_NAMES="config:*.h:*.inc:*.c:CMakeLists.txt:*.cmake:*.m:*
3 3
 
4 4
 
5 5
 # Used by `mulle-match find` to locate files
6
-export MULLE_MATCH_FIND_LOCATIONS="${PROJECT_SOURCE_DIR}:CMakeLists.txt:cmake"
6
+export MULLE_MATCH_FIND_LOCATIONS="${PROJECT_SOURCE_DIR}"
7 7
 
8 8
 
9 9
 # By default assume a project has source and a sourcetree in that order.
... ...
@@ -12,7 +12,7 @@ export MULLE_MATCH_FIND_LOCATIONS="${PROJECT_SOURCE_DIR}:CMakeLists.txt:cmake"
12 12
 #
13 13
 #
14 14
 #
15
-export MULLE_SDE_INSTALLED_VERSION="0.26.0"
15
+export MULLE_SDE_INSTALLED_VERSION="0.32.0"
16 16
 
17 17
 
18 18
 # By default assume a project has source and a sourcetree in that order.
... ...
@@ -45,6 +45,32 @@ export MULLE_SDE_INSTALLED_VERSION="0.26.0"
45 45
 # By default assume a project has source and a sourcetree in that order.
46 46
 
47 47
 
48
+# By default assume a project has source and a sourcetree in that order.
49
+
50
+
51
+# By default assume a project has source and a sourcetree in that order.
52
+
53
+
54
+# By default assume a project has source and a sourcetree in that order.
55
+
56
+
57
+# By default assume a project has source and a sourcetree in that order.
58
+
59
+
60
+# By default assume a project has source and a sourcetree in that order.
61
+
62
+
63
+# By default assume a project has source and a sourcetree in that order.
64
+
65
+
66
+# Used by `mulle-match find` to speed up the search.
67
+export MULLE_MATCH_FILENAMES="config:CMakeLists.txt:*.cmake"
68
+
69
+
70
+# Used by `mulle-match find` to locate files
71
+export MULLE_MATCH_PATH=".mulle-sourcetree/etc/config:CMakeLists.txt:cmake"
72
+
73
+
48 74
 # By default assume a project has source and a sourcetree in that order.
49 75
 export MULLE_SDE_UPDATE_CALLBACKS="sourcetree:source"
50 76
 
51 77
new file mode 100644
... ...
@@ -0,0 +1,153 @@
1
+#######
2
+### none startup
3
+#######
4
+[ "${TRACE}" = 'YES' -o "${ENVIRONMENT_SH_TRACE}" = 'YES' ] && set -x  && : "$0" "$@"
5
+
6
+#
7
+# If mulle-env is broken, sometimes its nice just to source this file.
8
+# If you're sourcing this manually on a regular basis, you're doing it wrong.
9
+#
10
+# We need some minimal stuff to get things going though:
11
+#     sed, cut, tr, hostname, pwd, uname
12
+#
13
+if [ -z "${MULLE_UNAME}" ]
14
+then
15
+   MULLE_UNAME="`PATH=/bin:/usr/bin uname | \
16
+                  PATH=/bin:/usr/bin cut -d_ -f1 | \
17
+                  PATH=/bin:/usr/bin sed 's/64$//' | \
18
+                  PATH=/bin:/usr/bin tr 'A-Z' 'a-z'`"
19
+   export MULLE_UNAME
20
+fi
21
+if [ -z "${MULLE_HOSTNAME}" ]
22
+then
23
+   MULLE_HOSTNAME="`PATH=/bin:/usr/bin:/sbin:/usr/sbin hostname -s`"
24
+   if [ "${MULLE_HOSTNAME:0:1}" = '.' ]
25
+   then
26
+      MULLE_HOSTNAME="_terodde"
27
+   fi
28
+   export MULLE_HOSTNAME
29
+fi
30
+if [ -z "${MULLE_VIRTUAL_ROOT}" ]
31
+then
32
+   MULLE_VIRTUAL_ROOT="`PATH=/bin:/usr/bin pwd -P`"
33
+   echo "Using ${MULLE_VIRTUAL_ROOT} as MULLE_VIRTUAL_ROOT for \
34
+your convenience" >&2
35
+fi
36
+
37
+#
38
+# now read in custom envionment (required)
39
+#
40
+. "${MULLE_VIRTUAL_ROOT}/.mulle/share/env/include-environment.sh"
41
+
42
+#
43
+# basic setup for interactive shells
44
+#
45
+case "${MULLE_SHELL_MODE}" in
46
+   *INTERACTIVE*)
47
+      #
48
+      # Set PS1 so that we can see, that we are in a mulle-env
49
+      #
50
+      envname="`PATH=/bin:/usr/bin basename -- "${MULLE_VIRTUAL_ROOT}"`"
51
+
52
+      case "${PS1}" in
53
+         *\\h\[*)
54
+         ;;
55
+
56
+         *\\h*)
57
+            PS1="$(sed 's/\\h/\\h\['${envname}'\]/' <<< '${PS1}' )"
58
+         ;;
59
+
60
+         *)
61
+            PS1='\u@\h['${envname}'] \W$ '
62
+         ;;
63
+      esac
64
+      export PS1
65
+
66
+      unset envname
67
+
68
+      # install cd catcher
69
+      . "${MULLE_ENV_LIBEXEC_DIR}/mulle-env-cd.sh"
70
+      unset MULLE_ENV_LIBEXEC_DIR
71
+
72
+      # install mulle-env-reload
73
+
74
+      alias mulle-env-reload='. "${MULLE_VIRTUAL_ROOT}/.mulle/share/env/include-environment.sh"'
75
+
76
+
77
+      #
78
+      # source in any bash completion files
79
+      #
80
+      DEFAULT_IFS="${IFS}"
81
+      shopt -s nullglob; IFS=$'\n'
82
+      for FILENAME in "${MULLE_VIRTUAL_ROOT}/.mulle/share/env/libexec"/*-bash-completion.sh
83
+      do
84
+         . "${FILENAME}"
85
+      done
86
+      shopt -u nullglob; IFS="${DEFAULT_IFS}"
87
+
88
+      unset FILENAME
89
+      unset DEFAULT_IFS
90
+
91
+
92
+      #
93
+      # show motd, if any
94
+      #
95
+      if [ -z "${NO_MOTD}" ]
96
+      then
97
+         if [ -f "${MULLE_VIRTUAL_ROOT}/.mulle/etc/env/motd" ]
98
+         then
99
+            cat "${MULLE_VIRTUAL_ROOT}/.mulle/etc/env/motd"
100
+         else
101
+            if [ -f "${MULLE_VIRTUAL_ROOT}/.mulle/share/env/motd" ]
102
+            then
103
+               cat "${MULLE_VIRTUAL_ROOT}/.mulle/share/env/motd"
104
+            fi
105
+         fi
106
+      fi
107
+   ;;
108
+esac
109
+
110
+# remove some uglies
111
+unset NO_MOTD
112
+unset TRACE
113
+
114
+#######
115
+### mulle startup
116
+#######
117
+
118
+case "${MULLE_SHELL_MODE}" in
119
+   *INTERACTIVE*)
120
+      if [ -z "" ]
121
+      then
122
+         alias craftorder="mulle-sde craftorder"
123
+         alias clean="mulle-sde clean"
124
+         alias craft="mulle-sde craft"
125
+         alias dependency="mulle-sde dependency"
126
+         alias environment="mulle-sde environment"
127
+         alias extension="mulle-sde extension"
128
+         alias fetch="mulle-sde fetch"
129
+         alias show="mulle-sde show"
130
+         alias list="mulle-sde list"
131
+         alias library="mulle-sde library"
132
+         alias log="mulle-sde log"
133
+         alias match="mulle-sde match"
134
+         alias monitor="mulle-sde monitor"
135
+         alias patternfile="mulle-sde patternfile"
136
+         alias subproject="mulle-sde subproject"
137
+         alias update="mulle-sde update"
138
+      fi
139
+
140
+      if [ -z "" ]
141
+      then
142
+         alias c="mulle-sde craft"
143
+         alias C="mulle-sde clean; mulle-sde craft"
144
+         alias CC="mulle-sde clean all; mulle-sde craft"
145
+         alias t="mulle-sde test rerun --serial"
146
+         alias tt="mulle-sde test craft ; mulle-sde test rerun --serial"
147
+         alias T="mulle-sde test craft ; mulle-sde test"
148
+         alias TT="mulle-sde test clean ; mulle-sde test"
149
+         alias u="mulle-sde update"
150
+         alias l="mulle-sde list"
151
+      fi
152
+   ;;
153
+esac
0 154
new file mode 100644
... ...
@@ -0,0 +1,92 @@
1
+[ -z "${MULLE_VIRTUAL_ROOT}" -o -z "${MULLE_UNAME}"  ] && \
2
+   echo "Your script needs to setup MULLE_VIRTUAL_ROOT \
3
+and MULLE_UNAME properly" >&2  && exit 1
4
+
5
+MULLE_ENV_SHARE_DIR="${MULLE_VIRTUAL_ROOT}/.mulle/share/env"
6
+MULLE_ENV_ETC_DIR="${MULLE_VIRTUAL_ROOT}/.mulle/etc/env"
7
+# Top/down order of inclusion. Left overrides right if present.
8
+# Keep these files (except environment-custom.sh) clean off manual edits so
9
+# that mulle-env can read and set environment variables.
10
+#
11
+# .mulle/etc/env                        | .mulle/share/env
12
+# --------------------------------------|--------------------
13
+#                                       | environment-plugin.sh
14
+#                                       | environment-plugin-os-${MULLE_UNAME}.sh
15
+#                                       | environment-project.sh
16
+#                                       | environment-extension.sh
17
+# environment-global.sh                 |
18
+# environment-os-${MULLE_UNAME}.sh      |
19
+# environment-host-${MULLE_HOSTNAME}.sh |
20
+# environment-user-${USER}.sh           |
21
+# environment-custom.sh                 |
22
+#
23
+
24
+#
25
+# The plugin file, if present is to be set by a mulle-env plugin
26
+#
27
+if [ -f "${MULLE_ENV_SHARE_DIR}/environment-plugin.sh" ]
28
+then
29
+   . "${MULLE_ENV_SHARE_DIR}/environment-plugin.sh"
30
+fi
31
+
32
+#
33
+# The plugin file, if present is to be set by a mulle-env plugin
34
+#
35
+if [ -f "${MULLE_ENV_SHARE_DIR}/environment-plugin-os${MULLE_UNAME}.sh" ]
36
+then
37
+   . "${MULLE_ENV_SHARE_DIR}/environment-plugin-os${MULLE_UNAME}.sh"
38
+fi
39
+
40
+
41
+#
42
+# The project file, if present is to be set by mulle-sde init itself
43
+# w/o extensions
44
+#
45
+if [ -f "${MULLE_ENV_SHARE_DIR}/environment-project.sh" ]
46
+then
47
+   . "${MULLE_ENV_SHARE_DIR}/environment-project.sh"
48
+fi
49
+
50
+#
51
+# The extension file, if present is to be set by mulle-sde extensions.
52
+#
53
+if [ -f "${MULLE_ENV_SHARE_DIR}/environment-extension.sh" ]
54
+then
55
+   . "${MULLE_ENV_SHARE_DIR}/environment-extension.sh"
56
+fi
57
+
58
+#
59
+# Global user settings
60
+#
61
+if [ -f "${MULLE_ENV_ETC_DIR}/environment-global.sh" ]
62
+then
63
+   . "${MULLE_ENV_ETC_DIR}/environment-global.sh"
64
+fi
65
+
66
+#
67
+# Load in some user modifications depending on os, hostname, username.
68
+#
69
+if [ -f "${MULLE_ENV_ETC_DIR}/environment-host-${MULLE_HOSTNAME}.sh" ]
70
+then
71
+   . "${MULLE_ENV_ETC_DIR}/environment-host-${MULLE_HOSTNAME}.sh"
72
+fi
73
+
74
+if [ -f "${MULLE_ENV_ETC_DIR}/environment-os-${MULLE_UNAME}.sh" ]
75
+then
76
+   . "${MULLE_ENV_ETC_DIR}/environment-os-${MULLE_UNAME}.sh"
77
+fi
78
+
79
+if [ -f "${MULLE_ENV_ETC_DIR}/environment-user-${USER}.sh" ]
80
+then
81
+   . "${MULLE_ENV_ETC_DIR}/environment-user-${USER}.sh"
82
+fi
83
+
84
+#
85
+# For more complex edits, that don't work with the cmdline tool
86
+#
87
+if [ -f "${MULLE_ENV_ETC_DIR}/environment-custom.sh" ]
88
+then
89
+   . "${MULLE_ENV_ETC_DIR}/environment-custom.sh"
90
+fi
91
+unset MULLE_ENV_ETC_DIR
92
+unset MULLE_ENV_SHARE_DIR
0 93
similarity index 94%
1 94
rename from .mulle-env/share/libexec/mulle-env-bash-completion.sh
2 95
rename to .mulle/share/env/libexec/mulle-env-bash-completion.sh
... ...
@@ -29,7 +29,7 @@
29 29
 #   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 30
 #   POSSIBILITY OF SUCH DAMAGE.
31 31
 #
32
-[ "${TRACE}" = "YES" ] && set -x && : "$0" "$@"
32
+[ "${TRACE}" = 'YES' -o "${MULLE_ENV_BASH_COMPLETION_SH_TRACE}" = 'YES' ] && set -x && : "$0" "$@"
33 33
 
34 34
 
35 35
 _mulle_env_style_complete()
... ...
@@ -80,7 +80,7 @@ _mulle_env_complete()
80 80
       tool)
81 81
          case "$prev" in
82 82
             remove)
83
-               list="`mulle-env -e tool list`"
83
+               list="`mulle-env tool list`"
84 84
                COMPREPLY=( $( compgen -W "${list}" -- "$cur" ) )
85 85
             ;;
86 86
 
... ...
@@ -98,7 +98,7 @@ _mulle_env_complete()
98 98
 
99 99
       environment)
100 100
          case "$prev" in
101
-            get|set)
101
+            get|remove|set)
102 102
                list="`mulle-env -s environment list | sed 's/^\([^=]*\).*/\1/'`"
103 103
                COMPREPLY=( $( compgen -W "${list}" -- "$cur" ) )
104 104
             ;;
... ...
@@ -107,7 +107,7 @@ _mulle_env_complete()
107 107
             ;;
108 108
 
109 109
             --scope)
110
-               list="`mulle-env -s environment scopes`"
110
+               list="`mulle-env -s environment scope`"
111 111
                COMPREPLY=( $( compgen -W "${list}" -- "$cur" ) )
112 112
             ;;
113 113
 
... ...
@@ -118,7 +118,7 @@ _mulle_env_complete()
118 118
                   ;;
119 119
 
120 120
                   *)
121
-                     COMPREPLY=( $( compgen -W "get list set scopes" -- "$cur" ) )
121
+                     COMPREPLY=( $( compgen -W "get list set scope" -- "$cur" ) )
122 122
                   ;;
123 123
                esac
124 124
             ;;
125 125
similarity index 100%
126 126
rename from .mulle-env/share/libexec/mulle-sde-bash-completion.sh
127 127
rename to .mulle/share/env/libexec/mulle-sde-bash-completion.sh
128 128
similarity index 100%
129 129
rename from .mulle-env/share/motd
130 130
rename to .mulle/share/env/motd
131 131
similarity index 65%
132 132
rename from .mulle-env/share/optionaltool
133 133
rename to .mulle/share/env/optionaltool
... ...
@@ -1,11 +1,15 @@
1 1
 
2
-otool
3
-install_name_tool
4
-xcrun
5
-xcodebuild
6
-inotifywait
2
+fswatch
7 3
 ssh
4
+curl
5
+uuidgen
8 6
 cc
7
+clang
9 8
 gcc
10 9
 ld
10
+otool
11
+install_name_tool
12
+xcrun
13
+xcodebuild
11 14
 ninja
15
+make
12 16
similarity index 100%
13 17
rename from .mulle-env/etc/style
14 18
rename to .mulle/share/env/style
15 19
similarity index 94%
16 20
rename from .mulle-env/share/tool
17 21
rename to .mulle/share/env/tool
... ...
@@ -62,9 +62,6 @@ tr
62 62
 vi
63 63
 wc
64 64
 which
65
-curl
66 65
 column
67 66
 git
68
-uuidgen
69 67
 cmake
70
-make
71 68
new file mode 100644
... ...
@@ -0,0 +1,19 @@
1
+mulle-cmake-graphviz-include;optional
2
+mulle-create-build-motd;optional
3
+git;optional
4
+gzip;optional
5
+id;optional
6
+inotifywait;optional
7
+ssh;optional
8
+tar;optional
9
+tty;optional
10
+zip;optional
11
+xz;optional
12
+bzip2;optional
13
+mulle-sourcetree-to-c
14
+mulle-clang
15
+mulle-lldb;optional
16
+mulle-match-to-cmake;optional
17
+mulle-sourcetree-to-cmake;optional
18
+cmake
19
+subl;optional
0 20
new file mode 100644
... ...
@@ -0,0 +1,14 @@
1
+inotifywait;remove
2
+fswatch;optional
3
+ar
4
+as
5
+cc;optional
6
+clang;optional
7
+diff
8
+gcc;optional
9
+dsymutil;optional
10
+install_name_tool
11
+ld
12
+nm
13
+otool
14
+ranlib
0 15
new file mode 100644
... ...
@@ -0,0 +1,9 @@
1
+ar
2
+as
3
+cc;optional
4
+clang;optional
5
+diff
6
+gcc;optional
7
+ld
8
+nm
9
+ranlib
0 10
new file mode 100644
... ...
@@ -0,0 +1,11 @@
1
+ar
2
+as
3
+cc;optional
4
+clang;optional
5
+diff
6
+gcc;optional
7
+ld
8
+nm
9
+valgrind;optional
10
+vgdb;optional
11
+valgrind.bin;optional
0 12
new file mode 100644
... ...
@@ -0,0 +1,77 @@
1
+
2
+autoconf;optional
3
+autoreconf;optional
4
+awk
5
+base64
6
+basename
7
+bash
8
+cat
9
+chgrp
10
+chmod
11
+chown
12
+clear
13
+column;optional
14
+cp
15
+curl;optional
16
+cut
17
+date
18
+dd
19
+df
20
+dirname
21
+dmesg
22
+echo
23
+ed;optional
24
+egrep
25
+emacs;optional
26
+env
27
+expr
28
+false
29
+fgrep
30
+find
31
+grep
32
+head
33
+hostname
34
+kill
35
+less
36
+ln
37
+login
38
+ls
39
+make;optional
40
+mkdir
41
+mknod
42
+more
43
+mount
44
+mudo
45
+mv
46
+nano;optional
47
+ninja;optional
48
+ps
49
+pwd
50
+readlink
51
+rm
52
+rmdir
53
+sed
54
+sh
55
+sleep
56
+sort
57
+stat
58
+stty
59
+su
60
+sw_vers;optional
61
+sync
62
+tail
63
+tee
64
+test
65
+touch
66
+tr
67
+true
68
+umount
69
+uname
70
+uuidgen
71
+vi;optional
72
+wc
73
+wget;optional
74
+which
75
+xargs;optional
76
+xcodebuild;optional
77
+xcrun;optional
0 78
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+2.3.1
0 2
similarity index 100%
1 3
rename from .mulle-sde/share/ignore.d/20-generated--none
2 4
rename to .mulle/share/ignore.d/20-generated--none
3 5
similarity index 100%
4 6
rename from .mulle-sde/share/match.d/80-source--private-headers
5 7
rename to .mulle/share/match.d/80-source--private-headers
6 8
similarity index 100%
7 9
rename from .mulle-sde/share/match.d/80-source--stage2-sources
8 10
rename to .mulle/share/match.d/80-source--stage2-sources
9 11
similarity index 100%
10 12
rename from .mulle-sde/share/match.d/80-source--standalone-sources
11 13
rename to .mulle/share/match.d/80-source--standalone-sources
12 14
similarity index 100%
13 15
rename from .mulle-sde/share/match.d/80-source--startup-sources
14 16
rename to .mulle/share/match.d/80-source--startup-sources
15 17
similarity index 100%
16 18
rename from .mulle-sde/share/match.d/95-source--sources
17 19
rename to .mulle/share/match.d/95-source--sources
18 20
new file mode 100644
... ...
@@ -0,0 +1,9 @@
1
+# generated C/ObjC include files
2
+
3
+_*-import.h
4
+_*-import-private.h
5
+_*-include.h
6
+_*-include-private.h
7
+
8
+# generated include file for MulleObjCLoader( Library)
9
+objc-loader.inc
0 10
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+.mulle/etc/sourcetree/config
0 2
\ No newline at end of file
1 3
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+*[+_-]private.h
2
+*[+_-]private.inc
3
+*Private.h
4
+*Private.inc
5
+private.h
6
+private.inc
0 7
new file mode 100644
... ...
@@ -0,0 +1 @@
1
+MulleObjCLoader*.m
0 2
\ No newline at end of file
1 3
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+*[+_-]standalone.[cm]
2
+*[+_-]standalone.aam
3
+*Standalone.[cm]
4
+*Standalone.aam
5
+standalone.[cm]
6
+standalone.aam
0 7
\ No newline at end of file
1 8
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+*[+_-]startup.[cm]
2
+*[+_-]startup.aam
3
+*Startup.[cm]
4
+*Startup.aam
5
+startup.[cm]
6
+startup.aam
0 7
\ No newline at end of file
1 8
similarity index 100%
2 9
rename from .mulle-sde/share/match.d/85-source--public-headers
3 10
rename to .mulle/share/match/match.d/85-source--public-headers
4 11
similarity index 100%
5 12
rename from .mulle-sde/share/match.d/95-cmakefile--all
6 13
rename to .mulle/share/match/match.d/95-cmakefile--all
7 14
new file mode 100644
... ...
@@ -0,0 +1,4 @@
1
+# this is the fallback if patterns file with smaller numbers fail
2
+
3
+*.[cm]
4
+*.aam
0 5
similarity index 81%
1 6
rename from .mulle-sde/share/bin/c-sourcetree-update
2 7
rename to .mulle/share/monitor/bin/c-sourcetree-update
... ...
@@ -29,18 +29,20 @@
29 29
 #   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 30
 #   POSSIBILITY OF SUCH DAMAGE.
31 31
 #
32
-
33
-[ "${TRACE}" = "YES" ] && set -x && : "$0" "$@"
32
+[ "${TRACE}" = "YES" -o "${C_SOURCETREE_UPDATE_TRACE}" = "YES" ] && set -x && : "$0" "$@"
34 33
 
35 34
 
36 35
 usage()
37 36
 {
38 37
    cat <<EOF >&2
39 38
 Usage:
40
-   c-sourcetree-update <action> <filename> <category>
39
+   c-sourcetree-update [flags]
41 40
 
42 41
    Produces the _<project>-include.h files and related headers.
43 42
 
43
+Flags:
44
+      --stdout :  Emit to stdout instead
45
+
44 46
 EOF
45 47
    exit 1
46 48
 }
... ...
@@ -53,14 +55,18 @@ uname_to_cpp()
53 55
    local uname="$1"  # the part after only-os or no
54 56
 
55 57
    case "${uname}" in
56
-      "darwin")
58
+      'darwin')
57 59
          echo "__APPLE__"
58 60
       ;;
59 61
 
60
-      "freebsd")
62
+      'freebsd')
61 63
          echo "BSD4_3"  # guess
62 64
       ;;
63 65
 
66
+      'mingw'*)
67
+         echo "_WIN32"
68
+      ;;
69
+
64 70
       *)
65 71
          echo "__${uname}__"
66 72
       ;;
... ...
@@ -294,14 +300,15 @@ c_include()
294 300
 
295 301
    local text_h
296 302
 
297
-   if [ "${MULLE_SDE_INCLUDE_FILENAME}" = "NONE" ]
298
-   then
299
-      return
300
-   fi
301
-   if [ -z "${MULLE_SDE_INCLUDE_FILENAME}" ]
302
-   then
303
-      MULLE_SDE_INCLUDE_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-include.h"
304
-   fi
303
+   case "${MULLE_SDE_INCLUDE_FILENAME}" in
304
+      "NONE")
305
+         return
306
+      ;;
307
+
308
+      "")
309
+         MULLE_SDE_INCLUDE_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-include.h"
310
+      ;;
311
+   esac
305 312
 
306 313
    local marks
307 314
 
... ...
@@ -334,8 +341,14 @@ ${text_h}
334 341
 
335 342
 #endif"
336 343
 
337
-   log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_INCLUDE_FILENAME}"
338
-   redirect_exekutor "${MULLE_SDE_INCLUDE_FILENAME}" echo "${text_h}"
344
+   if [ "${MULLE_SDE_INCLUDE_FILENAME}" = "-" ]
345
+   then
346
+      log_info "-include.h"
347
+      rexekutor echo "${text_h}"
348
+   else
349
+      log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_INCLUDE_FILENAME}"
350
+      redirect_exekutor "${MULLE_SDE_INCLUDE_FILENAME}" echo "${text_h}"
351
+   fi
339 352
 }
340 353
 
341 354
 
... ...
@@ -348,14 +361,15 @@ objc_import()
348 361
 
349 362
    local text_h
350 363
 
351
-   if [ "${MULLE_SDE_IMPORT_FILENAME}" = "NONE" ]
352
-   then
353
-      return
354
-   fi
355
-   if [ -z "${MULLE_SDE_IMPORT_FILENAME}" ]
356
-   then
357
-      MULLE_SDE_IMPORT_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-import.h"
358
-   fi
364
+   case "${MULLE_SDE_IMPORT_FILENAME}" in
365
+      "NONE")
366
+         return
367
+      ;;
368
+
369
+      "")
370
+         MULLE_SDE_IMPORT_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-import.h"
371
+      ;;
372
+   esac
359 373
 
360 374
    text_h="`emit_c_header "import,public"`" || exit 1
361 375
 
... ...
@@ -377,8 +391,14 @@ ${text_h}
377 391
 
378 392
 #endif"
379 393
 
380
-   log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_IMPORT_FILENAME}"
381
-   redirect_exekutor "${MULLE_SDE_IMPORT_FILENAME}" echo "${text_h}"
394
+   if [ "${MULLE_SDE_IMPORT_FILENAME}" = "-" ]
395
+   then
396
+      log_info "-import.h"
397
+      rexekutor echo "${text_h}"
398
+   else
399
+      log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_IMPORT_FILENAME}"
400
+      redirect_exekutor "${MULLE_SDE_IMPORT_FILENAME}" echo "${text_h}"
401
+   fi
382 402
 }
383 403
 
384 404
 
... ...
@@ -391,14 +411,15 @@ c_include_private()
391 411
 
392 412
    local text_h
393 413
 
394
-   if [ "${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}" = "NONE" ]
395
-   then
396
-      return
397
-   fi
398
-   if [ -z "${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}" ]
399
-   then
400
-      MULLE_SDE_INCLUDE_PRIVATE_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-include-private.h"
401
-   fi
414
+   case "${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}" in
415
+      "NONE")
416
+         return
417
+      ;;
418
+
419
+      "")
420
+         MULLE_SDE_INCLUDE_PRIVATE_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-include-private.h"
421
+      ;;
422
+   esac
402 423
 
403 424
    local marks
404 425
 
... ...
@@ -431,8 +452,14 @@ ${text_h}
431 452
 
432 453
 #endif"
433 454
 
434
-   log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}"
435
-   redirect_exekutor "${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}" echo "${text_h}"
455
+   if [ "${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}" = "-" ]
456
+   then
457
+      log_info "-include-private.h"
458
+      rexekutor echo "${text_h}"
459
+   else
460
+      log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}"
461
+      redirect_exekutor "${MULLE_SDE_INCLUDE_PRIVATE_FILENAME}" echo "${text_h}"
462
+   fi
436 463
 }
437 464
 
438 465
 
... ...
@@ -445,14 +472,15 @@ objc_import_private()
445 472
 
446 473
    local text_h
447 474
 
448
-   if [ "${MULLE_SDE_IMPORT_PRIVATE_FILENAME}" = "NONE" ]
449
-   then
450
-      return
451
-   fi
452
-   if [ -z "${MULLE_SDE_IMPORT_PRIVATE_FILENAME}" ]
453
-   then
454
-      MULLE_SDE_IMPORT_PRIVATE_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-import-private.h"
455
-   fi
475
+   case "${MULLE_SDE_IMPORT_PRIVATE_FILENAME}" in
476
+      "NONE")
477
+         return
478
+      ;;
479
+
480
+      "")
481
+         MULLE_SDE_IMPORT_PRIVATE_FILENAME="${PROJECT_SOURCE_DIR}/_${projectname}-import-private.h"
482
+      ;;
483
+   esac
456 484
 
457 485
    text_h="`emit_c_header "import,no-public"`" || exit 1
458 486
 
... ...
@@ -474,8 +502,14 @@ ${text_h}
474 502
 
475 503
 #endif"
476 504
 
477
-   log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_IMPORT_PRIVATE_FILENAME}"
478
-   redirect_exekutor "${MULLE_SDE_IMPORT_PRIVATE_FILENAME}" echo "${text_h}"
505
+   if [ "${MULLE_SDE_IMPORT_PRIVATE_FILENAME}" = "-" ]
506
+   then
507
+      log_info "-import-private.h"
508
+      rexekutor echo "${text_h}"
509
+   else
510
+      log_verbose "Writing ${C_RESET_BOLD}${MULLE_SDE_IMPORT_PRIVATE_FILENAME}"
511
+      redirect_exekutor "${MULLE_SDE_IMPORT_PRIVATE_FILENAME}" echo "${text_h}"
512
+   fi
479 513
 }
480 514
 
481 515
 
... ...
@@ -552,6 +586,13 @@ main()
552 586
             PROJECT_DIALECT="$1"
553 587
          ;;
554 588
 
589
+         --stdout)
590
+            MULLE_SDE_INCLUDE_FILENAME="-"
591
+            MULLE_SDE_INCLUDE_PRIVATE_FILENAME="-"
592
+            MULLE_SDE_IMPORT_FILENAME="-"
593
+            MULLE_SDE_IMPORT_PRIVATE_FILENAME="-"
594
+         ;;
595
+
555 596
          -*)
556 597
             log_error "Unknown option \"$1\""
557 598
             usage
... ...
@@ -581,15 +622,18 @@ main()
581 622
    local PROJECT_IDENTIFIER
582 623
    local PROJECT_DOWNCASE_IDENTIFIER
583 624
 
584
-   PROJECT_IDENTIFIER="`tweaked_de_camel_case "${PROJECT_NAME}"`"
625